首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

无法返回main函数

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

无法返回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;

热点排行