0
我在使用C++中的指針有問題,我無法弄清楚它是什麼;C++無法使指針工作
我有一個類叫做LectureNode:
class LectureNode
{
public:
Lecture *LecturePtr;
LectureNode(Lecture lec)
{
LecturePtr = &lec;
}
};
這個類的構造函數工作得很好。 我有另一個類:
class LectureForest
{
LectureNode *LecNode;
list<Lecture>::iterator it;
public:
LectureForest(list<Lecture> lecs)
{
Makeset(lecs);
}
void Makeset(list<Lecture> lecs)
{
for(it = lecs.begin(); it != lecs.end(); it++)
{
LecNode = LectureNode(*it);
}
}
問題發生在最後一行。 (* it)被傳遞給LectureNode的構造函數,LectureNode創建成功,但是LecNode不指向它,而是調試器說錯了指針。
謝謝。
好的,謝謝,我該如何解決? –
只是單挑:不要混淆_initializer list_和_initialization list_。你的意思是後者。另外,可以使用Lecture的參考,這可以保證傳遞的對象實際上不是空指針。 –
如何更改Makeset功能以反映您的解決方案?讓我們說第一個 –