나는 다음과 같이 정의와 부스트지도를 가지고 :은 정수 키를 사용하여지도를 향상시킬 수 있습니까?
typedef std::pair< int,complex_data > map_value_type;
typedef boost::interprocess::allocator<map_value_typemanaged_shared_memory::segment_manager> map_value_type_allocator;
typedef boost::interprocess::map< int, complex_data, std::less< int>,map_value_type_allocator > complex_map_type;
내가 http://www.boost.org/doc/libs/1_49_0/doc/html/interprocess/allocators_containers.html#interprocess.allocators_containers.containers_explained.containers_of_containers에서 코드를 가져다가 정수와 키를 교체했다. 그러나 나는 내가 해결할 수없는 다음과 같은 오류가 점점 오전 : 나는 열쇠를 교체 할 경우
/usr/include/boost/container/map.hpp:147:1: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’
코드가 잘 작동하는 것 같다. 아무도 문제가 무엇인지 여기에서 볼 수 있습니까?
실제 코드에도'map_value_type_allocator'의 정의에서','가 누락되어 있습니까? –
이것은 정적 어설 션입니다. 실제로 어설트 된 코드/오류 메시지를 보면서 귀찮았습니까? – PlasmaHH
간단히 "키를 정수로 대체"하면 오류없이 컴파일됩니다. http://ideone.com/XkhLp (비록 ideone에서 사용할 수없는 라이브러리로 인해 링크 오류가 발생하지만). 코드를 게시하여 잘못 된 부분을 볼 수 있습니까? –