gpt4 book ai didi

c++ - unordered_set.hpp 中的错误 C3083?

转载 作者:行者123 更新时间:2023-11-28 03:20:34 25 4
gpt4 key购买 nike

我有一个相对较大的项目(在 VS2010 中)使用 boost。由于某些我无法确定为简单代码示例的原因,我在库中遇到错误:

boost_1_53_0\boost/unordered/unordered_set.hpp(56): error C3083: 'detail': the symbol to the left of a '::' must be a type
boost_1_53_0\boost/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 没有命名类型。

关于c++ - unordered_set.hpp 中的错误 C3083?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15553111/

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