-1
是的,我知道它是一個像百問題的副本,但我一直在這個工作幾個小時,沒有任何工作。在類中初始化結構變量成員給出了分段錯誤
我想要做的就是在類定義中初始化一些私有變量。
的結構是這樣的:
#include <string>
using namespace std;
typedef string DataType;
class Slist {
public:
private:
// private data type: Node
struct Node {
DataType data;
Node *next;
};
// state variables:
Node *head, *tail, *cursor;
};
我初始化它們像這樣:
Slist::Slist (void) {
cursor -> data = 'n';
cursor -> next = new Node;
,這是給我一個分段錯誤。我知道這意味着我嘗試訪問不存在的內存,但儘管這些是私有變量,但我試圖在Slist CONSTRUCTOR中訪問它們,這當然可以訪問它們。如果有人會告訴我發生了什麼,我會非常感激。
'cursor'是一個指針,我沒有看到任何代碼指定它的存儲。 – user4581301
首先,在使用之前寫入'cursor = new Node;'。 – songyuanyao
謝謝!我不相信我首先不這樣做。非常感謝你。 – Nienaber