1
我的错误:如何从无效中摆脱当前范围,以便返回主体?我需要做什么?
|21|error: 'main' was not declared in this scope|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
我的实际程序是完全不同的,更大的(因此不需要的标头)。我只是写了这个来迅速证明我的问题。我该如何摆脱这个void函数的作用域并回到main(我的程序的菜单实际在哪里)?
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <cstdio>
#include <limits>
int continueint;
using namespace std;
class handles {
public:
void continueChoice()
{
cout<<"[1] Go back to the main menu"<<endl;
cout<<"[2] Terminate the program"<<endl;
cin>>continueint;
switch (continueint)
{
case 1:
main(); // This is where my problem lies
case 2:
break;
}
}
}handlers;
int main(int nNumberofArgs, char*pszArgs[])
{
cout<<"A message here."<<endl;
system("PAUSE");
handlers.continueChoice(); //Calls the void function in the above class
}
* return *关键字功能强大。用throw可以调用10千伏选项。但不,再次调用main()是语言规范的* verboten *。对于[很好的理由](http://stackoverflow.com/questions/4518598/is-it-legal-to-recurse-into-main-in-c/4519407#4519407)。 –