内容如题,解释一下数据块儿是自己构造的一个类的实例。
最近看C++嘛 ,写了一个小程序,遇到如题的问题。经过不断地尝试和思考,发现了自己思维之简单,语言逻辑之严谨。把简化之后的例子贴在下面:
#include <iostream>
using namespace std;
class STU
{
public:
int num;
};
class Node
{
public:
STU dat;
Node();
~Node();
};
int main()
{
Node * pNode = new Node;
pNode->dat->num = 2;
}
这段代码的问题在最后一段,我熟练的写出了pNode->dat->num = 2; 然后显示如下,因为pNode本身就是指针啊。
然后,编译生成,再看错误提示,如下图。这就明了了,因为成员变量dat不是指针嘛,所以dat后面使用箭头运算符是不对的嘛,把dat后面的箭头改成.即可,即pNode->dat.num = 2。或者改成(*pNode).dat.num=2也行。