【发布时间】:2015-07-26 16:41:16
【问题描述】:
考虑这个非常简单的程序:
#include <boost/type_erasure/is_placeholder.hpp>
#include <boost/iterator/iterator_adaptor.hpp>
int main()
{
return 0;
}
编译失败:
include/boost/type_erasure/is_placeholder.hpp:31:33: error: reference to 'use_default' is ambiguous
struct is_placeholder< ::boost::use_default> : ::boost::mpl::false_ {};
^
include/boost/iterator/iterator_adaptor.hpp:44:18: note: candidate found by name lookup is 'boost::use_default'
using iterators::use_default;
^
include/boost/type_erasure/is_placeholder.hpp:21:8: note: candidate found by name lookup is 'boost::use_default'
struct use_default;
^
1 error generated.
我不想去更改那些头文件。我该如何解决这个问题?
【问题讨论】:
-
在 1.57 上失败,适用于 1.55。
-
有没有办法在 1.57 中变通?
-
这应该被简单地报告为一个错误。
标签: c++ boost boost-iterators boost-type-erasure