我在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;
而visual告诉我,结尾处的const是“非成员函数不允许的”,而groupe是“未定义的”,但是groupe被我的所有其他函数接受。请帮助我,我没有找到满意的答案!
最佳答案
您必须说函数属于哪一类。就是
错误:
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
表示该函数不会更改任何类对象范围的变量,但是您将函数定义为不属于任何类的一部分。