错误:“列表”不是“std”的成员,错误:模板参数 2 无效

error: ‘list’ is not a member of ‘std’ and error: template argument 2 is invalid

本文关键字:错误 参数 无效 列表 不是 std 成员      更新时间:2023-10-16

我正在尝试编译我的头文件,但我遇到了无法弄清楚的错误。

我想创建一个包含 3 个映射的结构:-从单个单词到计数的映射-从单词对映射到计数- 从单个单词映射到以下单词列表

我的头文件中的代码:

#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <cctype>
#include <vector>
#include <algorithm>
#include <map>
typedef struct {
    std::map<std::string, int> firstCounts;
    std::map<std::string, int> pairCounts;
    std::map<std::string, std::list<std::string>> follows; //You can use an iterator to retrieve the values stored in the list. 
} LanguageModel;

我得到的错误:

>   LangModel.h:24:23: error: ‘list’ is not a member of ‘std’
>      std::map<std::string, std::list<std::string>> follows; //You can use an iterator to retrieve the values stored in the list. 
>                            ^
>     LangModel.h:24:23: error: ‘list’ is not a member of ‘std’
>     LangModel.h:24:38: error: template argument 2 is invalid
>      std::map<std::string, std::list<std::string>> follows; //You can use an iterator to retrieve the values stored in the list. 
>                                           ^
>     LangModel.h:24:38: error: template argument 4 is invalid
>     LangModel.h:24:44: error: expected unqualified-id before ‘>’ token
>      std::map<std::string, std::list<std::string>> follows; //You can use an iterator to retrieve the values stored in the list.

你忘了添加

#include <list>    

#include <list>呢?您缺少标头包含。