c语言显示缺少函数标题,c++中缺少函数标题是什么意思

我是c语言初学者,我写的程序总显示缺少函数标题 ,请问为什么,并请帮忙解决,谢谢

看你那么晚还在学习,帮你改一下:

创新互联致力于互联网品牌建设与网络营销,包括成都做网站、网站建设、外贸营销网站建设、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。创新互联为不同类型的客户提供良好的互联网应用定制及解决方案,创新互联核心团队10余年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。

#includestdio.h

int calculate(int lng, int width, int hight);//函数参数不能用C语言的关键字long

int main()

{

int m_long;

int m_width;

int m_hight;

int result;

printf("请输入长度\n");

scanf("%d",m_long);

printf("请输入宽度\n");

scanf("%d",m_width);

printf("请输入高度\n");

scanf("%d",m_hight);

result=calculate(m_long,m_width,m_hight);

printf("长方体的体积是 ");

printf("%d\n",result);

getchar();

getchar();

return 0;

}

int calculate(int lng, int width, int hight)//这里的分号要去掉

{

int result=lng*width*hight;

return result;

}

C语言出现 错误 c2447: 缺少函数头(旧式的正式列表?) 执行 cl.exe 时出错

int main(void); //后面多了个分号,导致这只是个声明了,把分号去掉就好

C++缺少函数标题

错误如下:

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 。所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。

c语言报错missing function header (old-style formal list?)怎么办?

c++编程中出现“missing function header (old-style formal list?)”是(编译错误)缺少函数标题(是否是老式的形式表?)

分析:函数定义不正确,函数首部的“( )”后多了分号或者采用了老式的C语言的形参表。

例如:# include stdio.h

void main()

{

int max(int x,int y,int z);

int a,b,c,d;

scanf("%d,%d,%d",a,b,c);

d=max(a,b,c);

printf("max=%d\n",d );

}

int max(int x,int y,int z);

{

int d;

if(xy)d=x;else d=y;

if(dz);else d=z;

return(d);

}

Cpp1.cpp(11) : error C2447: missing function header (old-style formal list?)

执行 cl.exe 时出错.

解决:int max(int x,int y,int z); 这一行最后多一个分号“;” (是说下面max定义的地方,不是main函数中的max函数申明),导致编译器认为这里仍然是max的申明,从而导致后面的括号没有意义。去掉int max(int x,int y,int z);后面的“;”即可。

扩展资料

c++编程错误类型及分析

一、error LNK2001: unresolved external symbol _main

中文对照:(连接错误)未处理的外部标识main

分析:一般是main拼写错误,例如“void mian()”

二、error LNK2005: _main already defined in Cpp1.obj

中文对照:(连接错误)main函数已经在Cpp1.obj文件中定义

分析:未关闭上一程序的工作空间,导致出现多个main函数

三、warning C4003: not enough actual parameters for macro 'xxx’

中文对照:(编译警告)宏xxx没有足够的实参

分析:一般是带参宏展开时未传入参数

四、warning C4067: unexpected tokens following preprocessor directive - expected a newline

中文对照:(编译警告)预处理命令后出现意外的符号 - 期待新行

分析:“#include iostream.h ;”命令后的“;”为多余的字符

五、warning C4091: ‘’ : ignored on left of ‘type’ when no variable is declared

中文对照:(编译警告)当没有声明变量时忽略类型说明

分析:语句“int ;”未定义任何变量,不影响程序执行


当前标题:c语言显示缺少函数标题,c++中缺少函数标题是什么意思
URL链接:http://ybzwz.com/article/hspgdi.html