2015-11-23 2 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; 

И визуальный говорит мне, что сопзЬ в конце концов, «не разрешено для функции, отличной от члена ", и эта группа является« неопределенной », но groupe принимается всеми моими другими функциями. Пожалуйста, помогите мне, я не нашел удовлетворительного ответа!

+0

Пожалуйста, разместите полные, точные сообщения об ошибках. –

ответ

2

Вы должны сказать, к какому классу принадлежат функции. То есть.
Неправильно:

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

Правильно:.

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

Btw, замените return groupe[i]; с return *(groupe[i]); тоже.

Причиной возникновения конкретного сообщения об ошибке было то, что второй const говорит, что функция не изменит переменные класса и объекта, но вы определили функции не как часть любого класса.

+0

О, боже, я такой глупый -_- Спасибо большое! Я думаю, что даже это очевидно, я бы не нашел его как классический «=» вместо «==». –

Смежные вопросы