c – 错误“xxxx”不指定类型
发布时间:2020-12-16 03:23:41 所属栏目:百科 来源:网络整理
导读:尝试编译以下代码时遇到问题: #include iostream#include cstdio#include cstring#include algorithm#include mapusing namespace std;mapchar,int mapDial;mapDial['A'] = 2;int main(){ cout mapDial['A'] endl; return 0;} 编译器给了我一个错误:“mapD
尝试编译以下代码时遇到问题:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <map> using namespace std; map<char,int> mapDial; mapDial['A'] = 2; int main() { cout << mapDial['A'] << endl; return 0; } 编译器给了我一个错误:“mapDial”没有指定类型错误.我是新来的,真的不知道这里发生了什么.这里有人可以帮我解决吗?谢谢!! 解决方法
所以你不能在全局范围内执行任意表达式
mapDial['A'] = 2; 是非法的如果你有C 11,你可以做 map<char,int> mapDial { { 'A',2 } }; 但是如果你不这样做,你必须调用main的初始化函数来设置它的方式.您还可以查看使用迭代器的map的构造函数,并使用函数中的数组来初始化地图,例如. map<char,int> initMap() { static std::pair<char,int> data[] = { std::pair<char,int>('A',2) }; return map<char,int>(data,data + sizeof(data) / sizeof(*data)); } map<char,int> mapDial = initMap(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读