0

我收到错误:

cs163hw1.cpp:41:24: 错误:没有在类“menutype”中声明的“int menutype::run_prog()”成员函数</p>

main.cpp:18:7: 错误:“struct menutype”没有名为“run_prog”的成员</p>

尝试使用相关代码(跨越 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;
    }
}
}

我不知道为什么会这样,有什么猜测吗?

4

1 回答 1

0

你需要有class menutype上面声明的main()。更好的办法是将类移动到其自己的名为 menutype.cpp 的专用文件中,并将标头包含在 main 的源文件中。正如您所描述的,编译器在从文件顶部解析源文件时还不知道菜单类型。

于 2012-10-12T01:27:15.103 回答