我有一个 .h 文件,我在其中创建了一个字典,如下所示:-
map < char, string > mydictionary;
我继续将值填充为:-
string t = "test";
mydictionary['a'] = "asdf";
mydictionary['b'] = t;
当我尝试构建项目时,上面提到的两行错误 C++ requires a type specifier for all declarations
。不幸的是,我发现错误消息非常神秘,并且不确定如何处理/解决它。
为什么会出现这个错误?我该如何解决这个问题?
最佳答案
您不能在全局范围内放置语句;语句只能放在函数中。 (请注意,这与变量初始值设定项不同,后者可以在全局范围内进行)。
您需要在函数中初始化映射,或者(在 C++11 中)使用初始化列表:
map < char, string > mydictionary {{'a', "asdf"}, {'b', t}};
关于将值添加到 .h 中的映射时出现 C++ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762221/