【发布时间】:2013-10-01 10:40:37
【问题描述】:
实现类图我需要这样的东西
unordered_map <Node, list<unordered_set<Edge<Node>>::iterator>> graph;
为每个顶点存储邻接列表。但是,它说list<unordered_set<Edge<Node>>::iterator> 不是有效参数。
我应该如何实现这个?
这里有错误:
错误 2 错误 C2923:“std::unordered_map”:
'std::list<std::unordered_set<Edge<Node>>>::iterator'不是参数“_Ty”的有效模板类型参数
我正在使用带有标准编译器(兼容 c++11)的 VS2012 Express
template<class Node>
class Graph {
}
template<class Node>
class Edge {
}
【问题讨论】:
-
始终引用您从编译器获得的确切错误消息。
-
无论如何,
>>在 C++11 中是两个右尖括号,但在 C++03 中不是。您使用的是什么编译器、版本和标志? -
std::list<unordered_set<Edge<Node> >::iterator>可能吗? -
我猜是你失踪了
typename。Edge或Node是模板参数吗? -
Node和Edge到底是什么?