我觉得这个问题可能有点琐碎,但我根本无法理解它。我目前有一个类 Node,它试图使用指针 prevNode 指向当前节点之前出现的节点。但是我似乎无法访问 prevNode 中的任何变量。
从以下代码运行 Main.cpp 时,它会打印结果“15340756”。我哪里错了?Appologies 因为我对 C++ 还是有点陌生。
节点.h
#include "stdafx.h"
class Node
{
public:
Node();
void setPrevNode(Node n);
Node getPrevNode();
int i;
private:
Node *prevNode;
};
节点.cpp
#include "stdafx.h"
#include "Node.h"
Node::Node(){
i = 0;
}
void Node::setPrevNode(Node n){
prevNode = &n;
}
Node Node::getPrevNode(){
return *prevNode;
}
主文件
#include "stdafx.h"
#include "Node.h"
int _tmain(int argc, _TCHAR* argv[])
{
Node nodes[] = {Node(), Node()};
nodes[0].i = 1;
nodes[1].setPrevNode(nodes[0]);
printf("%i", nodes[1].getPrevNode().i);
while(true){
}
return 0;
}