C ++ |主要功能错误|初学者

时间:2012-03-11 11:43:34

标签: c++ main

我对c ++很新,我正在使用eclipse。

但是......我不知道为什么我在主函数中出现这个错误:

  

错误::: main必须返回int

我的代码是:

void main()
{
char a;
while (a!='q')
{
    string ln = "enter option: ";
    cout<< ln;

    switch(a)
    {
    case 1:
        if (a=='1')
            func1();
        break;
    case 2:
        if (a=='2')
            break;
        break;
    }
}
}

4 个答案:

答案 0 :(得分:5)

因为在C ++中,main函数的返回类型必须为int

返回类型为void的版本不正确,编译器正在拒绝该版本。

只需更改

中的声明即可
void main()

int main()

有一种替代形式允许您处理在命令行上传递给程序的参数。它看起来像这样:

int main (int argc, char *argv[])

但是当你刚刚学习C ++并尝试在屏幕上打印“hello world”时,这可能不是你需要担心的事情。你最终会到达那里。

考虑更新你正在使用的书来学习C ++。如果它导致入口点的函数签名错误,那么还有哪些更复杂的东西也会出错?!第一次学习语言错误没有意义。我们提供了建议书籍列表here

答案 1 :(得分:2)

您必须将void main()更改为int main()

如果没有C ++中的任何返回,你就不能有一个主函数。

答案 2 :(得分:2)

char a;
while (a!='q')

您正在将未初始化的变量与字母q进行比较。从未初始化的变量读取会调用未定义的行为。如果你运气不好,a!='q'可能是假的。将char a;更改为char a = 0;(或任何其他非q值)或使用do-while循环替换while循环。

答案 3 :(得分:1)

返回类型应为int

int main (void)

int main (int argc, char *argv[])