Функция-член C++ не объявляет ошибку, когда она кажется
Я получаю ошибки:
cs163hw1.cpp: 41: 24: ошибка: нет функции-члена int menutype::run_prog(), объявленной в классе menutype
а также
main.cpp:18:7: ошибка: "struct menutype" не имеет члена с именем "run_prog"
При попытке скомпилировать мою программу с соответствующим кодом (охватывающим файлы appriprait .cpp и.h):
int main(int argc, char ** argv){
...
menu.run_prog();
...
class menutype{
public:
menutype(int);
int display();
int run_prog();
private:
extras list;
person menup;
};
int menutype::run_prog(){
bool exit = false;
int input;
while(!exit){
input = 0;
while(input < 1 || input > 4)
input = display();
switch(input){
case 1 :
break;
case 2 :
break;
case 3 :
break;
case 4 : exit = true;
break;
default :
break;
}
}
}
Я понятия не имею, почему это происходит, какие-либо догадки?
1 ответ
Вам нужно иметь class menutype
объявлено выше main(). Еще лучше переместить класс в собственный выделенный файл с именем menutype.cpp и включить заголовок в исходный файл main. Как вы уже описали, компилятор еще не знает о menutype, так как он анализирует исходный файл в верхней части файла.