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