我对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;
}
}
}
因为在C++中,main
函数的返回类型必须为int
。
返回类型为void
的版本不正确,编译器正确地拒绝了它。
只需更改的声明
void main()
至
int main()
还有一种替代形式允许您处理通过命令行传递给程序的参数。它看起来像这样:
int main (int argc, char *argv[])
但当你只是在学习C++并试图在屏幕上打印"你好世界"时,这可能不是你需要担心的事情。你最终会到达那里的。
还可以考虑更新你用来学习C++的书。如果它弄错了入口点的函数签名,还有什么更复杂的事情可能也出错了?!第一次学错语言毫无意义。这里有推荐书目。
您必须将void main()
更改为int main()
。
在C++中,主函数不能没有任何返回。
char a;
while (a!='q')
您正在将一个未初始化的变量与字母q进行比较。从未初始化变量中读取会调用未定义的行为。如果你运气不好,a!='q'
可能是假的。将char a;
更改为char a = 0;
(或任何其他非q值),或将while循环替换为do while循环。
返回类型应为int
:
int main (void)
int main (int argc, char *argv[])