Error C3083 in unordered_set.hpp?
Error C3083 in unordered_set.hpp?
我有一个比较大的项目(在VS2010中)使用boost。由于某种原因,我不能确定为一个简单的代码示例,我从库中击中一个错误:
boost_1_53_0boost/unordered/unordered_set.hpp(56): error C3083: 'detail': the symbol to the left of a '::' must be a type
boost_1_53_0boost/unordered/unordered_set.hpp(505) : see reference to class template instantiation 'anydsl::boost::unordered::unordered_set<T,H,P,A>' being compiled
问题可能来自其他地方,但编译器绝对没有提示其来源。
你知道它可能来自哪里吗?
还有人遇到过类似的问题吗?
我把我的boost 1.47.0升级到1.53.0,但问题仍然存在
正如kassak
所指出的,错误消息表明您在自己的另一个名称空间中包含unordered_set.hpp
。当不好的事情发生时,千万不要这样做。
在您的特殊情况下,编译器会尝试解析
typedef boost::unordered::detail::set<A, T, H, P> types;
在您的命名空间anydsl
中。由于anydsl::boost::unordered::detail
不存在,它抛出一个(有点误导)错误,认为detail
没有命名类型。
相关文章:
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 什么是"#include <boost/functional/hash.hpp> "?
- 为什么我无法更改"set<set>"循环中的值<int>
- 对于set上的循环-获取next元素迭代器
- 使用Vulkan hpp vk::enumerateInstanceVersion()会导致segfault
- 在声明中合并两个常量"std::set"(不是在运行时)
- 如何将class.cpp和class.hpp编译为一个.o文件
- 有没有办法对std::unordered_set、std::unrdered_map、std::set、std::map
- 将 std::set 与基于键的比较器一起使用
- 如何使用set实现无序数据结构?
- 使用运算符调用 void 函数时出错<set>
- 修改"std::set"中用户定义类型的值
- g++ -I 和 -L 命令来查找不起作用的 .hpp 文件
- VS Code C++:不准确的系统包括路径错误(wchar.h,boost/lambda/lambda.hpp)
- 生成提升::hana::set 的常量表达式问题
- 如何在构造函数参数中初始化"std::set"?
- 如何使用 lower_bound/upper_bound 从 std::set 获取索引号?
- 如何在 C++ 中转发声明 std::set?
- Gnuplot_i.hpp C++接口绘制局部变量而不是文件
- 重构使用动态强制转换的 std::set 的比较运算符