C++缺少函数标题

#include<iostream>
using namespace std;
enum sex {male,female};
int main();
{
int i;
sex s;
cout<<"请输入性别:0-男,1-女"<<endl;
cin>>i;
s=sex(i);
if(s==male);
{
cout<<"性别:男"<<endl;
}
else
{
if(s==female)
{
cout<<"性别:女"<<endl;
}
else
{
cout<<"对不起,性别输入错误!"<<endl;
}
}
return 0;
}

3.cpp(5) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
怎么回事啊,哪位高手能告诉我啊!!

错误如下:

int main()//这里多加了“;”

每个程序必须有main函数,而且只能有一个。

int main(int argc, char *argv[]) { ... }

第二个形参argv是一个数组, 它的元素是指向C风格字符串的指针;第一个形参argc表示数组中字符串的数量。

当实参传给main函数之后,argv的第一个元素指向程序的名字或者一个空字符串,接下来的元素依次传递命令行提供的实参。所以当使用argv中的实参时,一定要记得可选的实参从argv[1]开始,argv[0]保存程序的名字,而非用户输入。

扩展资料

main函数不能重载,也不能调用自己。对于一个C/CPP文件来说,一般都有main函数,一个程序的执行一定会是先从main函数这个入口开始,一个最基本的程序框架大概长这样:

#include <stdio.h>

int main()

{
return 0;

}

int指明了main()函数的返回类型 ,函数名后面的圆括号一般包含传递给函数的信息。void表示没有给函数传递参数。main()这种形式开始。C90标准允许这种形式,但是C99标准不允许。因此即使你当前的编译器允许,也不要这么写。你还可能看到过另一种形式。void main()

有些编译器允许这种形式,但是还没有任何标准考虑接受它。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地表示:void main( ) 的定义从来就不存在于 C++ 或者 C 。所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-08
#include<iostream>
using namespace std;
enum sex {male,female};
int main()//此处不用分号
{
int i;
sex s;
cout<<"请输入性别:0-男,1-女"<<endl;
cin>>i;
s=sex(i);
if(s==male)//去分号
{
cout<<"性别:男"<<endl;
}
else
//去掉一对大括号,否则下面的else找不到与之对应的if
if(s==female)
{
cout<<"性别:女"<<endl;
}
else
{
cout<<"对不起,性别输入错误!"<<endl;
}

return 0;
}本回答被提问者采纳
第2个回答  2009-03-26
int main();
去掉后面的分号。
第3个回答  2019-10-29
你这确定是C程序?
下面这段代码什么意思?及没有放到main函数里面,也没有放到别的什么函数里面,不报错才怪.还有你那些else(a
{
else(ac=1.0;
else
(ac=0.9;
else
(ac=0.8;
else
(a>=1000);
c=0.75);
}
{
if(c!=0)
b=a*c;
printf("c=
%f\n",c);
printf("b=
%f\n",b);
}
第4个回答  2019-09-24
我汗,代码,都忘完了
相似回答