c語言missing
㈠ 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
",d );
}
int max(int x,int y,int z);
{
int d;
if(x>y)d=x;else d=y;
if(d>z);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);後面的「;」即可。
(1)c語言missing擴展閱讀
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語言編譯出現missing ';' before 'type'
這個報錯的原因是你的代碼在某句話的後面沒有加上;號,至於在哪裡沒加,你把你完整的代碼發出來看看
㈢ C語言程序出現錯誤missing ')' before 'type'
intmain(void){
shuru(void);//這一句把void去掉,它只能出現在函數聲明中。。
xing(a);
shuchu(a);
return0;
}
另外好像還有幾處錯誤
int*shuru(void){
inti=0,*a1;
for(;i<10;i++){
scanf("%d",&a[i]);
}
a1=&a[0];
return*a1;//此處把*去掉,因為a1已經是指針了,你加*傳遞的就是int類型了。。
}
㈣ C語言 missing ';' before 'type
void main()
{/
int i,n;
這里多一個斜杠!