欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VC6.0常見編譯錯誤提示附解決方法

 更新時間:2013年07月20日 11:24:14   作者:  
這篇文章主要介紹了VC++6.0編譯過程中常遇到的一些錯誤提示并給出了錯誤原因與分析,需要的朋友尅參考下

(1)error C2001: newline in constant

編號:C2001
直譯:在常量中出現(xiàn)了換行。
錯誤分析:
1.①字符串常量、字符常量中是否有換行。
2.②在這句語句中,某個字符串常量的尾部是否漏掉了雙引號。
3.③在這語句中,某個字符創(chuàng)常量中是否出現(xiàn)了雙引號字符“"”,但是沒有使用轉(zhuǎn)義符“\"”。
4.④在這句語句中,某個字符常量的尾部是否漏掉了單引號。
5.⑤是否在某句語句的尾部,或語句的中間誤輸入了一個單引號或雙引號。

(2)error C2015: too many characters in constant

編號:C2015
直譯:字符常量中的字符太多了。
錯誤分析:
單引號表示字符型常量。一般的,單引號中必須有且只能有一個字符(使用轉(zhuǎn)義符時,轉(zhuǎn)義符所表示的字符當作一個字符看待),如果單引號中的字符數(shù)多于4個,就會引發(fā)這個錯誤。
另外,如果語句中某個字符常量缺少右邊的單引號,也會引發(fā)這個錯誤,例如:
if (x == 'x || x == 'y') { … }
值得注意的是,如果單引號中的字符數(shù)是2-4個,編譯不報錯,輸出結(jié)果是這幾個字母的ASC碼作為一個整數(shù)(int,4B)整體看待的數(shù)字。

(3)error C2137: empty character constant

編號:C2137
直譯:空的字符定義。
錯誤分析:
原因是連用了兩個單引號,而中間沒有任何字符,這是不允許的。

(4)error C2018: unknown character '0x##'

編號:C2018
直譯:未知字符‘0x##'。
錯誤分析:
0x##是字符ASC碼的16進制表示法。這里說的未知字符,通常是指全角符號、字母、數(shù)字,或者直接輸入了漢字。如果全角字符和漢字用雙引號包含起來,則成為字符串常量的一部分,是不會引發(fā)這個錯誤的。

(5)error C2041: illegal digit '#' for base '8'

編號:C2141
直譯:在八進制中出現(xiàn)了非法的數(shù)字‘#'(這個數(shù)字#通常是8或者9)。
錯誤分析:
如果某個數(shù)字常量以“0”開頭(單純的數(shù)字0除外),那么編譯器會認為這是一個8進制數(shù)字。例如:“089”、“078”、“093”都是非法的,而“071”是合法的,等同于是進制中的“57”。

(6)error C2065: 'xxxx' : undeclared identifier

編號:C2065
直譯:標識符“xxxx”未定義。
錯誤分析:
首先,解釋一下什么是標識符。標志符是程序中出現(xiàn)的除關鍵字之外的詞,通常由字母、數(shù)字和下劃線組成,不能以數(shù)字開頭,不能與關鍵字重復,并且區(qū)分大小寫。變量名、函數(shù)名、類名、常量名等等,都是標志符。所有的標志符都必須先定義,后使用。標志符有很多種用途,所以錯誤也有很多種原因。

1.如果“xxxx”是一個變量名,那么通常是程序員忘記了定義這個變量,或者拼寫錯誤、大小寫錯誤所引起的,所以,首先檢查變量名是否正確。(關聯(lián):變量,變量定義)
2.如果“xxxx”是一個函數(shù)名,那就懷疑函數(shù)名是否沒有定義??赡苁瞧磳戝e誤或大小寫錯誤,當然,也有可能是你所調(diào)用的函數(shù)根本不存在。還有一種可能,你寫的函數(shù)在你調(diào)用所在的函數(shù)之后,而你有沒有在調(diào)用之前對函數(shù)原形進行申明。(關聯(lián):函數(shù)申明與定義,函數(shù)原型)
3.如果“xxxx”是一個庫函數(shù)的函數(shù)名,比如“sqrt”、“fabs”,那么看看你在cpp文件已開始是否包含了這些庫函數(shù)所在的頭文件(.h文件)。例如,使用“sqrt”函數(shù)需要頭文件math.h。如果“xxxx”就是“cin”或“cout”,那么一般是沒有包含“iostream.h”。(關聯(lián):#include,cin,cout)
4.如果“xxxx”是一個類名,那么表示這個類沒有定義,可能性依然是:根本沒有定義這個類,或者拼寫錯誤,或者大小寫錯誤,或者缺少頭文件,或者類的使用在申明之前。(關聯(lián):類,類定義)
5.標志符遵循先申明后使用原則。所以,無論是變量、函數(shù)名、類名,都必須先定義,后使用。如使用在前,申明在后,就會引發(fā)這個錯誤。
6.C++的作用域也會成為引發(fā)這個錯誤的陷阱。在花括號之內(nèi)變量,是不能在這個花括號之外使用的。類、函數(shù)、if、do(while)、for所引起的花括號都遵循這個規(guī)則。(關聯(lián):作用域)
7.前面某句語句的錯誤也可能導致編譯器誤認為這一句有錯。如果你前面的變量定義語句有錯誤,編譯器在后面的編譯中會認為該變量從來沒有定義過,以致后面所有使用這個變量的語句都報這個錯誤。如果函數(shù)申明語句有錯誤,那么將會引發(fā)同樣的問題。

(7)error C2086: 'xxxx' : redefinition

編號:C2374
直譯:“xxxx”重復申明。
錯誤分析:
變量“xxxx”在同一作用域中定義了多次。檢查“xxxx”的每一次定義,只保留一個,或者更改變量名。

(8)error C2374: 'xxxx' : redefinition; multiple initialization

編號:C2374
直譯:“xxxx”重復申明,多次初始化。
錯誤分析:
變量“xxxx”在同一作用域中定義了多次,并且進行了多次初始化。檢查“xxxx”的每一次定義,只保留一個,或者更改變量名。

(9)C2143: syntax error : missing ';' before (identifier) 'xxxx'

編號:C2143
直譯:在(標志符)“xxxx”前缺少分號。
錯誤分析:
這是VC6的編譯期最常見的誤報,當出現(xiàn)這個錯誤時,往往所指的語句并沒有錯誤,而是它的上一句語句發(fā)生了錯誤。其實,更合適的做法是編譯器報告在上一句語句的尾部缺少分號。上一句語句的很多種錯誤都會導致編譯器報出這個錯誤:

1.上一句語句的末尾真的缺少分號。那么補上就可以了。
2.上一句語句不完整,或者有明顯的語法錯誤,或者根本不能算上一句語句(有時候是無意中按到鍵盤所致)。
3.如果發(fā)現(xiàn)發(fā)生錯誤的語句是cpp文件的第一行語句,在本文件中檢查沒有錯誤,但其使用雙引號包含了某個頭文件,那么檢查這個頭文件,在這個頭文件的尾部可能有錯誤。

(10)error C4716: 'xxx' : must return a value

編號:C4716
直譯:“xxx”必須返回一個值。
錯誤分析:
函數(shù)聲明了有返回值(不為void),但函數(shù)實現(xiàn)中忘記了return 返回值。要么函數(shù)確實沒有返回值,則修改其返回值類型為void,要么在函數(shù)結(jié)束前返回合適的值。

(11) warning C4508: 'main' : function should return a value; 'void' return type assumed

編號:C4508
直譯:main函數(shù)應該返回一個值;void返回值類型被假定。
錯誤分析:

1.函數(shù)應該有返回值,聲明函數(shù)時應指明返回值的類型,確實無返回值的,應將函數(shù)返回值聲明為void。若未聲明函數(shù)返回值的類型,則系統(tǒng)默認為整型int。此處的錯誤估計是在main函數(shù)中沒有return返回值語句,而main函數(shù)要么沒有聲明其返回值的類型,要么聲明了。
2.warning類型的錯誤為警告性質(zhì)的錯誤,其意思是并不一定有錯,程序仍可以被成功編譯、鏈接,但可能有問題、有風險。

(12)warning C4700: local variable 'xxx' used without having been initialized

編號:C4700
直譯:警告局部變量“xxx”在使用前沒有被初始化。
錯誤分析:
這是初學者常見的錯誤,例如以下程序段就會造成這樣的警告,而且程序的確有問題,應加以修改,盡管編譯、鏈接可以成功——若不修改,x的值到底是多少無法確定,是隨機的,判斷其是否與3相同沒有意義,在運氣不好的情況下,可能在調(diào)試程序的機器上運行時,結(jié)果看起來是對的,但更換計算機后再運行,結(jié)果就不對,初學者往往感到迷惑。
int x;
if (x==3) printf("hello");

相關文章

  • c語言求兩個字符串的交集

    c語言求兩個字符串的交集

    大家好,本篇文章主要講的是c語言求兩個字符串的交集,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • c 調(diào)用python出現(xiàn)異常的原因分析

    c 調(diào)用python出現(xiàn)異常的原因分析

    本篇文章是對使用c語言調(diào)用python出現(xiàn)異常的原因進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++鏈表類的封裝詳情介紹

    C++鏈表類的封裝詳情介紹

    這篇文章主要介紹了C++鏈表類的封裝,文章基于C++的相關資料展開主題的詳細內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • C++實現(xiàn)LeetCode(97.交織相錯的字符串)

    C++實現(xiàn)LeetCode(97.交織相錯的字符串)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(97.交織相錯的字符串),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Qt利用ImageWatch實現(xiàn)圖片查看功能

    Qt利用ImageWatch實現(xiàn)圖片查看功能

    Visual Studio有專門針對OpenCV開發(fā)的插件,名叫ImageWatch,圖片放大之后可以查看RGB的像素值。本文將利用這一查件實現(xiàn)圖片查看功能,需要的可以參考一下
    2022-04-04
  • 關于c語言中回調(diào)函數(shù)的理解

    關于c語言中回調(diào)函數(shù)的理解

    這篇文章主要給大家介紹了關于c語言中回調(diào)函數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • C++類和對象之封裝詳解

    C++類和對象之封裝詳解

    大家好,本篇文章主要講的是C++類和對象之封裝詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • C++利用多態(tài)實現(xiàn)職工管理系統(tǒng)(項目開發(fā))

    C++利用多態(tài)實現(xiàn)職工管理系統(tǒng)(項目開發(fā))

    這篇文章主要介紹了C++利用多態(tài)實現(xiàn)職工管理系統(tǒng)(項目開發(fā)),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • C++ 控制臺彈出文件管理對話框案例

    C++ 控制臺彈出文件管理對話框案例

    這篇文章主要介紹了C++ 控制臺彈出文件管理對話框案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Matlab利用prim算法實現(xiàn)迷宮的生成

    Matlab利用prim算法實現(xiàn)迷宮的生成

    普里姆算法(Prim算法),圖論中的一種算法,可在加權(quán)連通圖里搜索最小生成樹。本文將利用prim算法迷宮生成及其藝術(shù)渲染,感興趣的可以了解一下
    2022-10-10

最新評論