gpt4 book ai didi

c++ - boost:type_erasure 和 boost::iterator_facade 之间的冲突

转载 作者:太空狗 更新时间:2023-10-29 23:01:50 25 4
gpt4 key购买 nike

考虑这个非常简单的程序:

#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.

我不想去更改那些头文件。我该如何解决这个问题?

最佳答案

临时解决方案是替换

struct use_default;

在“boost/type_erasure/is_placeholder.hpp”中

namespace iterators {
struct use_default;
}
using iterators::use_default;

可以在 `boost/iterator/iterator_adaptor.hpp' 中找到。

关于c++ - boost:type_erasure 和 boost::iterator_facade 之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30247935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com