Opened 9 years ago

Closed 9 years ago

#9696 closed Bugs (duplicate)

Boost.Container fails to compile in VS2013

Reported by: awulkiew Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: intrusive
Version: Boost 1.55.0 Severity: Problem
Keywords: Cc:

Description

The compilation of this code:

#include <boost/container/vector.hpp>

int main()
{
	boost::container::vector<int> v;
}

ends with this output:

1>d:\lib\boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp(200): error C2228: left of '.select_on_container_copy_construction' must have class/struct/union
1>          type is 'boost::move_detail::add_rvalue_reference<U>::type'
1>          d:\lib\boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp(276) : see reference to class template instantiation 'boost::container::container_detail::has_member_function_callable_with_select_on_container_copy_construction_impl<Fun,true,>' being compiled
1>          with
1>          [
1>              Fun=std::allocator<int>
1>          ]
1>          d:\lib\boost_1_55_0\boost\container\allocator_traits.hpp(262) : see reference to class template instantiation 'boost::container::container_detail::has_member_function_callable_with_select_on_container_copy_construction<const Alloc,>' being compiled
1>          with
1>          [
1>              Alloc=std::allocator<int>
1>          ]
1>          d:\lib\boost_1_55_0\boost\container\vector.hpp(276) : see reference to class template instantiation 'boost::container::allocator_traits<Allocator>' being compiled
1>          with
1>          [
1>              Allocator=std::allocator<int>
1>          ]
1>          d:\lib\boost_1_55_0\boost\container\vector.hpp(550) : see reference to class template instantiation 'boost::container::container_detail::vector_alloc_holder<Allocator,boost::container::container_detail::integral_constant<unsigned int,1>>' being compiled
1>          with
1>          [
1>              Allocator=std::allocator<int>
1>          ]
1>          c:\users\adam\desktop\test13\test13\main.cpp(5) : see reference to class template instantiation 'boost::container::vector<int,std::allocator<T>>' being compiled
1>          with
1>          [
1>              T=int
1>          ]
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Change History (1)

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

Component: containerintrusive
Resolution: duplicate
Status: newclosed

Duplicate of #9332, which is already fixed. Thanks for the report.

Note: See TracTickets for help on using tickets.