Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 模板参数2无效_C++ - Fatal编程技术网

C++ 模板参数2无效

C++ 模板参数2无效,c++,C++,我不断发现以下错误: utils.h:22:39: error: template argument 4 is invalid utils.h:21:24: error: template argument 2 is invalid 当我尝试编译时: class Words { map <string, *Words > synonyms; map <string, map<string, *Words> > translations;

我不断发现以下错误:

utils.h:22:39: error: template argument 4 is invalid
utils.h:21:24: error: template argument 2 is invalid
当我尝试编译时:

class Words { 
    map <string, *Words > synonyms;  
    map <string, map<string, *Words> > translations; 
};
类字{
地图同义词;
地图翻译;
};
我不太明白是什么使它成为一个无效的论点。错误箭头指向“>”符号。该类的目的是使用AVL树映射构建词典。

尝试
map

但您可能需要重新考虑使用裸指针

class Words
{
    std::map<std::string, std::shared_ptr<Words>> synonyms;
    std::map<std::string, std::map<std::string, std::shared_ptr<Words>>> translations;
};
类词
{
地图同义词;
地图翻译;
};
试试
map

但您可能需要重新考虑使用裸指针

class Words
{
    std::map<std::string, std::shared_ptr<Words>> synonyms;
    std::map<std::string, std::map<std::string, std::shared_ptr<Words>>> translations;
};
类词
{
地图同义词;
地图翻译;
};

它可能应该是
单词*
。这看起来不是一个合理的类来表示单个单词或整个词典。我不认为您会出现这些错误-您没有第22行或第21行。它可能应该是
单词*
。这看起来不是一个合理的类来表示任何一个单词一个单词或一整本字典。我不认为你有这些错误——你的字典没有第22行或第21行。