2015-11-23 105 views
0

我在Forme_Composee.cpp變量未定義的錯誤

const Forme_Simple& getFormeSimple(int i) const 
{ 
    return groupe[i]; 
} 

const vector <Forme_Simple*> getGroupe() const 
{ 
    return groupe; 
} 

這個代碼,我有這樣的Forme_Composee.h:

private: 
    vector <Forme_Simple*> groupe; 

和視覺告訴我,在最後的常量是「不允許使用非成員函數「,該羣組是」未定義的「,但羣組被我的所有其他函數接受。請幫助我,我沒有找到任何滿意的答案!

+0

請發佈完整的確切錯誤消息。 –

回答

2

您必須說明函數屬於哪個類。 IE瀏覽器。
錯誤:

const Forme_Simple& getFormeSimple(int i) const 
{ 
    return groupe[i]; 
} 

正確:

const Forme_Simple& Forme_Composee::getFormeSimple(int i) const 
{ 
    return groupe[i]; 
} 

順便說一下,更換return groupe[i];return *(groupe[i]);了。

特定錯誤消息的原因是第二個const表示函數不會更改任何類對象範圍的變量,但是您將函數定義爲不作爲任何類的一部分。

+0

噢,我的天啊,我太蠢了-_-非常感謝你!我認爲,即使很明顯我不會發現它像經典的「=」而不是「==」。 –