声明将字符串映射到模板的 unordered_map 时出错
Error in declaring unordered_map which maps string to a template
template<typename T>
struct hash;
template<typename T> class WUG{
public:
WUG(){
unordered_map<string,typename T,hash> vertexmap; //Problem
}
};
我在这段代码中遇到了一些错误,但实际上并没有告诉我任何问题。我应该如何正确申报?
我收到的错误消息是:
[错误] 模板参数 2 无效
[错误] 模板参数 5 无效
您有 using namespace std;
从 std
命名空间导入所有名称,包括 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
}
};
template<typename T>
struct hash;
template<typename T> class WUG{
public:
WUG(){
unordered_map<string,typename T,hash> vertexmap; //Problem
}
};
我在这段代码中遇到了一些错误,但实际上并没有告诉我任何问题。我应该如何正确申报?
我收到的错误消息是:
[错误] 模板参数 2 无效
[错误] 模板参数 5 无效
您有 using namespace std;
从 std
命名空间导入所有名称,包括 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
}
};