Opened 9 years ago

Closed 9 years ago

#9369 closed Bugs (duplicate)

error C2228: “.select_on_container_copy_construction” with boost 1.55 and visual studio 2013

Reported by: 2810923@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.55.0 Severity: Problem
Keywords: mapped_region select_on_container_copy_construction Cc: 2810923@…

Description

compile this program with boost 1.55 and visual studio 2013

#include "stdafx.h" #include <boost/interprocess/file_mapping.hpp> #include <boost/interprocess/mapped_region.hpp> using namespace boost::interprocess;

int _tmain(int argc, _TCHAR* argv[]) {

return 0;

}

have error

c:\boost\boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp(200): error C2228: “.select_on_container_copy_construction”left must have class / struct / union

please help me!

Attachments (3)

vc12_fix_has_member_function_callable_with.patch (1.4 KB ) - added by 2810923@… 9 years ago.
has_member_function_callable_with.hpp (17.5 KB ) - added by anonymous 7 years ago.
has_member_function_callable_with.2.hpp (17.5 KB ) - added by anonymous 7 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 by anonymous, 9 years ago

bug fix, vistual studio 2013 no support " Expression SFINAE " features.

has_member_function_callable_with.hpp

219 219 struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl) 220 220 <Fun, true> 221 221 { 222 template<class U> 223 static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) 224 <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*); 225

222 #ifdef BOOST_NO_SFINAE_EXPR 223 template<class U> 224 static decltype( boost::move_detail::declval<Fun>().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME() 225 , boost_intrusive_has_member_function_callable_with::yes_type()) 226 Test(Fun*); 227 #else 228 template<class U> 229 static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME) 230 <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*); 231 #endif 232

226 233 template <class U> 227 234 static boost_intrusive_has_member_function_callable_with::no_type Test(...); 228 235

comment:2 by Ion Gaztañaga, 9 years ago

Resolution: duplicate
Status: newclosed

Duplicate of ticket #9332

by anonymous, 7 years ago

Note: See TracTickets for help on using tickets.