我有這樣定義的Node類(這是最低版本):不能讓我的常量性右
class Node {
private:
std::vector <const Node*> leaves;
public:
Node* getLeaf(int i);
}
換句話說,我想getLeaf的指針返回向量的元素「葉子」
我試圖定義getLeaf像這樣
Node* Node::getLeaf(int i){
return leaves[i];
}
好了,我知道我擰常量性的。我試過函數聲明/定義中const修飾符的變體,但沒有運氣。有人請幫忙:)
檢查你的返回類型爲const。 – Carl
你要麼返回'const Node *',要麼在向量中保存非常量'Node *'。正如你所說的,將一個非const指針返回給一個const對象會導致constness,(除非你遇到了一些不好的事情,而且可能是'const_cast'的錯誤行爲)。 –
你只需要設置返回類型爲:'const Node * Node :: getLeaf(int i)' – SHR