读书人

无法返回main函数

发布时间: 2013-01-23 10:44:49 作者: rapoo

无法返回main函数.求助
编译和运行都没问题
但是一旦在子函数中返回到main函数
运行就会出错
这是为什么呢?
源.cpp 如下:

#include <iostream>
#include<string>
using namespace std;
char translate (char nf);
void unit2();
void unit3();
void unit4();
void unit5();
void unit6();
void main()
{
string* in=new string;
char* choose=new char;
cout<<"A:第一单元"<<endl
<<"B:第二单元"<<endl
<<"C:第三单元"<<endl
<<"D:第四单元"<<endl
<<"E:第五单元"<<endl
<<"F:第六单元"<<endl
<<"请输入选项: ";
getline(cin,*in);
*choose=(*in).at(0);
//delete in;
*choose=translate (*choose);
switch (*choose)
{
case 'A':cout<<"绪论,无代码......返回重新输入\n";
main();break;
case 'B':unit2();break;
case 'C':unit3();break;
case 'D':unit4();break;
case 'E':unit5();break;
case 'F':unit6();break;
default:main();
}
system("pause");
}

[解决办法]
main还能调用main自身?
用的vc6吧?
[解决办法]
在C++标准中主函数是不能递归调用的,但是不保证编译器对C++递归限制做了扩展,所以有的编译器支持main()递归调用,有的编译器不支持,vc6.0就不支持。最好不要依赖于编译器的扩展部分写代码,难以移植
[解决办法]
pls...
delete in;
delete choose;

读书人网 >C++

热点推荐