出现错误提示:
a value of type "A " cannot be assigned to an entity of type "A "
但是诡异的是,我debug并没有报错,正常运行,a->um[0]也正常初始化了,那编译器为什么会报错?我用的是Visual Studio 2015
//这是我的头文件
#include <iostream>
#include <unordered_map>
using namespace std;
//我有一个类A:
class A {
public:
unordered_map<int, A*> um;
};
//然后我想初始化一个A的实例,然后把该实例um插入一个值,如下:
void main() {
A* a;
a->um[0] = new A();
}
截图:
我这里把 void main() 改成 int main() 之后可以编译通过。
如果你编不过,你试把 "new A()" 改为 new A;