zen*_*nna 2 c++ boost stl header clang
我正在尝试用Clang编译一个C++库(用g ++编译好).
但是由于某些原因,我在使用stl容器时到处都出现错误.错误消息似乎暗示它认为我正在尝试使用增强集,我认为不是.
我不相信任何地方我有点别名boost为std,我从来没有实际使用的using关键字.
/Users/zennatavares/repos/cliques/cliques/../cliques/structures/disjointset.h:140:8: error: too few template arguments for class template 'set'
std::set<int> visited_parents_;
^
/usr/local/include/boost/detail/container_fwd.hpp:90:64: note: template is declared here
template <class Key, class Compare, class Allocator> class set;
Run Code Online (Sandbox Code Playgroud)
我认为问题在于试图转发声明名称空间std的成员,而Boost正在为libc ++获取前向声明错误.没有任何可移植的方式来做这样的前向声明,所以提升真的不应该这样做.在命名空间std中声明内容会导致未定义的行为.
这是针对其中一个问题提出的针对提升的错误.https://svn.boost.org/trac/boost/ticket/5197
如果您发布了一个重现问题的完整程序,那么我们可以提供更多详细信息,说明您可以采取哪些措施来解决此问题.
| 归档时间: |
|
| 查看次数: |
1360 次 |
| 最近记录: |