template<typename T>
struct hash;
template<typename T> class WUG{
public:
WUG(){
unordered_map<string,typename T,hash> vertexmap; //Problem
}
};
我在这段代码中遇到一些错误,实际上对我没有任何意义。我该如何正确宣布?
我遇到的错误信息是:
[错误]模板参数2无效
[错误]模板参数5无效
答案 0 :(得分:1)
您using namespace std;
导致std
namesapce中的所有名称,包括std::hash
,修复:
struct MyHash;
template <typename T>
class WUG {
public:
WUG() {
unordered_map<string, T, MyHash> vertexmap; //Problem
}
};
或使用标准哈希:
template <typename T>
class WUG {
public:
WUG() {
unordered_map<string, T> vertexmap; //Problem
}
};