c 學習筆記序列之錯誤碼整理(不斷更新中)

2021-05-27 05:24:09 字數 1250 閱讀 6775

1.error lnk2001: unresolved external symbol "int __cdecl change(int,int)" (?ch

這種錯誤發生的原因是,函式中呼叫到的函式change,編譯器在編譯之前沒有看到這個函式的宣告或定義,編譯器不認識這個函式,所以報錯。

解決方法:

如果是vc6

方法一(如果change中乙個lib中的函式):選單project->setting->link頁籤->category列表->input->object/library modules下面的輸入框中新增包含change函式的庫名稱,並且在下面的additional library path下面的輸入框中新增library所在的目錄

方法二:在工程中直接包含change函式所在的c檔案及.h檔案

2.fatal error lnk1169: one or more multiply defined symbols found

錯誤原因:發生1169的錯誤碼,是因為重複定義,一般是函式重複定義,所以要檢視一下那個地方重複定義,有時候在聯絡的時候,重複定義了main函式比較多,就會較多的出現這種錯誤。

解決方法:將重複定義的函式名修改過來,避免重複定義。

3.編譯時提示constructors not allowed a return typenstructorst

錯誤原因:再定義類的時候忘記在類的後面新增乙個「;」,編譯器無法確定類定義已經完啦。

例子

#include

class counter

;//解決方法:在這裡新增「;」

counter::counter(int number) //編譯時提示constructors not allowed a return type

void counter:: increment()

void counter:: decrement()

int counter:: getvalue()

void counter::display() {cout<<"the value is:"num.increment();

num.increment();

num.decrement();

num.display();

例解決方法:如上面輸入框。

C 定義錯誤碼類

我們平時有這樣的需求,可能是c使用者的老習慣了,在底層的元件中更喜歡用返回錯誤碼的形式來告知使用者函式的呼叫狀態,一般來說,簡單用 define 乙個巨集來包裝下返回值。define err system init 23 system initailized fail 比如,以上定義了乙個錯誤碼返回...

C 異常2 返回錯誤碼

一種比異常終止更靈活的辦法是,使用函式的返回值來指出問題。例如,ostream類的get void 成員通常返回下乙個輸入字元的ascii碼,但到達檔案尾時,將返回eof。對hmean 來說,這種方法不管用。任何數值都是有效的返回值,因此不存在可以指出問題的特殊值。在這種情況下,可以使用指標引數或引...

函式設計之美 函式需要返回錯誤碼嗎(一)?

很久以前我就考慮這樣乙個問題 有這樣乙個函式,它的功能是從乙個整數集合中返回最大的那個數,如何設計這個函式的簽名了?當時沒有得出令自己滿意的答案,所以就擱淺了。今天重新思考,終於有所悟!現在把我思索的整個過程展現於此。最直觀的函式簽名設計如下 getmaxelement arraylisteleli...