a value of type A* cannot be assigned to an entity of type A*

新手上路,请多包涵

出现错误提示:
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();
}

截图:
图片描述

阅读 8k
1 个回答

我这里把 void main() 改成 int main() 之后可以编译通过。

如果你编不过,你试把 "new A()" 改为 new A;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题