2
我觉得这个问题可能有点微不足道,但我根本无法将头围住它。我目前有一个类Node,它试图使用prevNode指针指向当前节点之前发生什么节点。不过,我似乎无法访问prevNode内的任何变量。指向同一类型的对象
从下面的代码运行Main.cpp时,它打印结果'15340756'。我哪里错了?作为Im的Appologies对于C++来说还是有点新的。
Node.h
Node.cpp
#include "stdafx.h"
#include "Node.h"
Node::Node(){
i = 0;
}
void Node::setPrevNode(Node n){
prevNode = &n;
}
Node Node::getPrevNode(){
return *prevNode;
}
Main.cpp的
#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;
}
我也想补充相应的'getPrevNode'返回一个指向'Node'展现推论到' setPrevNode'方法获取指针。这个答案很好地显示了按值传递,引用和指针之间的差异。 – Kaiged