樓上好像都不對(duì),如果是沒有#include

創(chuàng)新互聯(lián)公司專注于成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對(duì)待客戶,用專業(yè)的服務(wù)創(chuàng)造價(jià)值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。
"math.h"
那么提示應(yīng)該是無法理解函數(shù)之類的,但這個(gè)是找不到math.h這個(gè)文件,去C編輯器目錄下的INCLUDE文件夾找找有沒有math.h這個(gè)文件,我推測(cè)應(yīng)該是沒了。。
看你那么晚還在學(xué)習(xí),幫你改一下:
#includestdio.h
int calculate(int lng, int width, int hight);//函數(shù)參數(shù)不能用C語言的關(guān)鍵字long
int main()
{
int m_long;
int m_width;
int m_hight;
int result;
printf("請(qǐng)輸入長(zhǎng)度\n");
scanf("%d",m_long);
printf("請(qǐng)輸入寬度\n");
scanf("%d",m_width);
printf("請(qǐng)輸入高度\n");
scanf("%d",m_hight);
result=calculate(m_long,m_width,m_hight);
printf("長(zhǎng)方體的體積是 ");
printf("%d\n",result);
getchar();
getchar();
return 0;
}
int calculate(int lng, int width, int hight)//這里的分號(hào)要去掉
{
int result=lng*width*hight;
return result;
}
c++編程中出現(xiàn)“missing function header (old-style formal list?)”是(編譯錯(cuò)誤)缺少函數(shù)標(biāo)題(是否是老式的形式表?)
分析:函數(shù)定義不正確,函數(shù)首部的“( )”后多了分號(hào)或者采用了老式的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?)
執(zhí)行 cl.exe 時(shí)出錯(cuò).
解決:int max(int x,int y,int z); 這一行最后多一個(gè)分號(hào)“;” (是說下面max定義的地方,不是main函數(shù)中的max函數(shù)申明),導(dǎo)致編譯器認(rèn)為這里仍然是max的申明,從而導(dǎo)致后面的括號(hào)沒有意義。去掉int max(int x,int y,int z);后面的“;”即可。
擴(kuò)展資料
c++編程錯(cuò)誤類型及分析
一、error LNK2001: unresolved external symbol _main
中文對(duì)照:(連接錯(cuò)誤)未處理的外部標(biāo)識(shí)main
分析:一般是main拼寫錯(cuò)誤,例如“void mian()”
二、error LNK2005: _main already defined in Cpp1.obj
中文對(duì)照:(連接錯(cuò)誤)main函數(shù)已經(jīng)在Cpp1.obj文件中定義
分析:未關(guān)閉上一程序的工作空間,導(dǎo)致出現(xiàn)多個(gè)main函數(shù)
三、warning C4003: not enough actual parameters for macro 'xxx’
中文對(duì)照:(編譯警告)宏xxx沒有足夠的實(shí)參
分析:一般是帶參宏展開時(shí)未傳入?yún)?shù)
四、warning C4067: unexpected tokens following preprocessor directive - expected a newline
中文對(duì)照:(編譯警告)預(yù)處理命令后出現(xiàn)意外的符號(hào) - 期待新行
分析:“#include iostream.h ;”命令后的“;”為多余的字符
五、warning C4091: ‘’ : ignored on left of ‘type’ when no variable is declared
中文對(duì)照:(編譯警告)當(dāng)沒有聲明變量時(shí)忽略類型說明
分析:語句“int ;”未定義任何變量,不影響程序執(zhí)行
缺少了頭文件math.h
有可能你忘了寫
#include math.h
也可能環(huán)境變量INCLUDE沒有設(shè)置好,環(huán)境變量INCLUDE要包含math.h所在的文件夾名.
int main(void); //后面多了個(gè)分號(hào),導(dǎo)致這只是個(gè)聲明了,把分號(hào)去掉就好
你用的應(yīng)該是C++的編譯器,C++對(duì)函數(shù)申明不做強(qiáng)制要求,如果函數(shù)沒有申明,直接使用的話,會(huì)給你一個(gè)默認(rèn)申明。
編譯過了之后,連接器是根據(jù)函數(shù)名稱進(jìn)行連接,和申明關(guān)系不大,所以,連接器也能找到正確的函數(shù)進(jìn)行連接。
但你這個(gè)程序,應(yīng)該會(huì)生成一些warning,提示部分函數(shù)沒有申明。
文章名稱:c語言中缺少函數(shù)頭怎么辦,c語言函數(shù)未定義如何解決
網(wǎng)站地址:http://chinadenli.net/article45/dseedhi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、、定制網(wǎng)站、商城網(wǎng)站、電子商務(wù)、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)