我刚刚学习了c ++的基础知识,并且已经了解了关于指针的部分。但是,我在尝试为指针的内容赋值时遇到错误。有什么提示吗?
#include <iostream>
class X
{
public:
int * x;
X()
{
int * x = new int;
}
};
int main (int argc, const char * argv[])
{
X test;
*(test.x) = 10;
return 0;
}
答案 0 :(得分:2)
这一行:
int * x = new int;
声明一个局部变量x。公共成员 x 仍未初始化为指向任何已分配的内存。
所以改成它:
x = new int;
会奏效。