尝试编译以下代码时遇到问题:
#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;
}
Run Code Online (Sandbox Code Playgroud)
编译器给了我一个错误:'mapDial'没有命名类型错误.我是c ++的新手,真的不知道这里发生了什么.这里有人可以帮我解决这个问题吗?谢谢!!
我只是面对一个让我困惑的问题.我打算生成一个列表,由于某种原因,我做了类似的事情:
mylist = [i for i in range(5), j for j in range(5)]
Run Code Online (Sandbox Code Playgroud)
然后翻译向我抱怨说,在'for'之前的'j'位置是无效的语法.所以我在列表前定义了j.任何人都能解释我为什么不需要定义'i'而是'j'?
我希望得到类似的东西:
[[0,1,2,3,4],[0,1,2,3,4]]
Run Code Online (Sandbox Code Playgroud)
但是,我得到了(我提前2分配给j)
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], 2, 2, 2, 2, 2]
Run Code Online (Sandbox Code Playgroud)
我真的很困惑,有谁能告诉我为什么我得到了这个结果?
非常感谢提前.