簡體   English   中英

鏈表c ++的節點構造器中的錯誤

[英]error in node constructor for Linked-list c++

我試圖使一個整數的LinkedList和為此,我創建了一個Node類。 但是編譯器不斷給我同樣的錯誤。 我在網上搜索了所有內容,發現的答案不起作用,或者我聽不懂。

錯誤如下:
第51行:返回類型中可能未定義新類型
第51行:構造函數的返回類型說明無效

所有4個構造函數都有相同的問題,第51行中的錯誤只是這四個中的第一個。

這是我所有的Node類。 我沒有復制getter和setter,因為它們沒有錯誤,並且代碼是半明顯的。

非常感謝。 安迪

class Node{

private:
    int val;
    Node* pPrv;
    Node* pNxt;

public:
    Node();
    Node(Node&);
    Node(int);    
    Node(int, Node*, Node*);

    void setVal(int auxVal);
    void setPrv(Node* auxPrv);
    void setNxt(Node* auxNxt);

    int getVal();
    Node* getPrv();
    Node* getNxt();
}

Node::Node(){ //this is line 51
    val = 0;
    pPrv = NULL;
    pNxt = NULL;
}

Node::Node(Node &node2){ //this line has exactly the same error
    val = node2.getVal();
    pPrv = node2.getPrv();
    pNxt = node2.getNxt();
}

Node::Node(int valAux){ //so does this one
    val = valAux;
    pPrv = NULL;
    pNxt = NULL;
}

Node::Node(int valAux, Node* prvAux, Node* nxtAux){ //and also this one
    val = valAux;
    pPrv = prvAux;
    pNxt = nxtAux;
}

您忘記了在類定義后放置分號。

在這種情況下,編譯器將考慮構造函數Node()之上的類的聲明。

class Node{
//...
}
Node::Node(){
    val = 0;
    pPrv = NULL;
    pNxt = NULL;
}

作為其返回類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM