關於C,哪兒出錯了,錯誤提示error C2065 matrixreserv undeclared identifier

2025-01-24 04:25:16 字數 3166 閱讀 7603

1樓:傳說中的頂哥

錯誤原因是你把matrixreserv函式的定義寫在了main函式的後面,編譯器在編譯。

e=matrixreserv(a,b,c,d);

這一行時不知道matrixreserv這個符號是什麼東西,所以會報undeclared identifier的錯誤。

兩種解決辦法:

1. 直接把matrixreserv函式的定義寫在main函式的前面。

2. 在main函式前面加一句對該函式的宣告:

float **matrixreserv(int nrl, int nrh, int ncl, int nch);

告訴編譯器matrixreserv是個函式。

2樓:濮方雅

在main函式前加一句:

float **matrixreserv(int nrl, int nrh, int ncl, int nch);

順便說下,呼叫的這句。

e=matrixreserv(a,b,c,d);

函式定義返回型別是float **而e是float的,匹配不上啊。

關於c,為什麼出現 error c2065: 'matrixreserv' : undeclared identifier

3樓:網友

main函式上面加一句。

float **matrixreserv(int nrl, int nrh, int ncl, int nch);

程式變成這樣。

float **matrixreserv(int nrl, int nrh, int ncl, int nch);

void main()

float **matrixreserv(int nrl, int nrh, int ncl, int nch)

*nrl = number of rows lower limit, nrh = high limit, c = columns*/

int i, nrow=nrh-nrl+1, ncol=nch-ncl+1;

後面就不貼了~

4樓:網友

void main()前面加float **matrixreserv(int nrl, int nrh, int ncl, int nch);這個函式的宣告就好了。

error c2065 undeclared identifier

5樓:網友

isleapyear = ((year % 4 == 0 &&yeah % 100 != 0) |year % 400 == 0));

當中的year拼錯了,寫成了yeah,這種問題自己仔細看看啊。

error c2065: 'cstring' : undeclared identifier

6樓:網友

如果你cstring寫的沒錯,而且建立的工程是控制檯程式的話,要包含標頭檔案。

而且要載入mfc的庫,設定辦法:選單欄裡的project->settings->general選項卡下的microsoft foundation classes:中選use mfc,選靜態或動態都可以,但是動態呼叫的話需要把mfc的動態庫放在system32資料夾下。

7樓:網友

cstring 是mfc型別,包含相應標頭檔案。應該是。

8樓:網友

cstring中的s要大寫,你寫成了cstring,編譯器當然不認識啦。

c++:error c2065: 'getline' : undeclared identifier

9樓:張仁杰何莉

老大你源程式有錯誤啊 最後一句應該是cout 並且應該加#include沒有這個標頭檔案你怎麼呼叫getline啊。

#include

#include

#include

using namespace std;

---int main()

10樓:網友

getline是哪個標頭檔案的?有沒有定義,還有函式拼寫錯誤沒有?注意大小寫。

error c2065: 'e' : undeclared identifier

11樓:o0軍涯

case 3 :

dequeue(&q,&e);

printf("\t 出隊元素是:%d.", e);

break;

改成case 3 :

dequeue(&q,x);

printf("\t 出隊元素是:%d.", x);

break;

error c2065: 'c' : undeclared identifier

12樓:網友

看錯誤資訊,c沒被定義,上面加上定義就行了。

int a,b,c;

error c2065: 'a' : undeclared identifier

13樓:網友

int a(int i)

int j,t;

for(j=0;j<4;j++)

printf("%5d",a[i][j]);//你這裡的陣列a沒有宣告,如果想在這裡使用的話可以在主函式。

中呼叫時傳進來。

printf("");

return 0;

可以改成這樣。

int a(int i,int a[10][10])int j,t;

for(j=0;j<4;j++)

printf("%5d",a[i][j]);

printf("");

return 0;

或者將陣列a作為全域性變數。

不過推薦使用函式引數的辦法。

希望有幫助~

14樓:網友

在int a(int i)函式里並沒有宣告a,應當更正如下:

int a(int** a,int i);

main函式里scanf("%d",a[i][j]);錯誤,應當是&a[i][j]

c語言連結串列問題哪出錯了執行不了

你 的意思是不是往有序連結串列裡插入資料 風格太差 都不知道有些寫的什麼意思,修改如下 include include typedef struct node node,link link newnode void link listinit int n link listinsert int x,...

關於考試失敗。考試時出錯了怎麼辦?

這是高考前的 高原反應 當你太在乎分數的時候,出現這樣的情況是難免的 以前高考有一段時間我也是很緊張,一緊張在考試時就會做錯平時做對的題目,很難受的。後來,慢慢認識到這是每個人都會經歷的一段時期,早點到早點過去。你要相信,現在才三月,現在經歷這樣的狀態對你來說是很有利的,慢慢適應了就好。當你覺得你的...

C語言問題為啥會出錯,c語言執行出錯什麼原因

printf d z printf d z 這樣 c語言執行出錯什麼原因 for i 0,sum 0 i 10 i,sum i 另外main 打錯了 編譯沒有錯是因為你寫的mian函式的語句符合c規範,而連結有錯誤是因為c必須有一個入口函式或叫主函式main 而你這裡卻沒有。編譯沒出錯表明的是語法是...