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

解決gcc編譯報(bào)錯(cuò)unknown type name ‘bool‘問題

 更新時(shí)間:2023年07月17日 08:46:53   作者:某猿蚊常叮  
這篇文章主要介紹了解決gcc編譯報(bào)錯(cuò)unknown type name ‘bool‘問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

gcc編譯報(bào)錯(cuò)unknown type name ‘bool‘

錯(cuò)誤描述

unknown type name ‘bool’

最近使用C實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)碰到了以下這個(gè)錯(cuò)誤

? ?LinkedList gcc list.c?
list.c:14:1: error: unknown type name ‘bool'; did you mean ‘_Bool'?
?bool is_empty(PNODE pHead);
?^~~~
?_Bool
list.c:77:1: error: unknown type name ‘bool'; did you mean ‘_Bool'?
?bool is_empty(PNODE pHead)
?^~~~
?_Bool
list.c: In function ‘is_empty':
list.c:80:9: error: ‘true' undeclared (first use in this function); did you mean ‘free'?
? return true;
? ? ? ? ?^~~~
? ? ? ? ?free
list.c:80:9: note: each undeclared identifier is reported only once for each function it appears in
list.c:82:9: error: ‘false' undeclared (first use in this function); did you mean ‘fclose'?
? return false;
? ? ? ? ?^~~~~

錯(cuò)誤原因

未知的類型名:‘bool’, 因?yàn)樵贑語言標(biāo)準(zhǔn)(C89)沒有定義布爾類型,所以會(huì)報(bào)錯(cuò)。

而C99提供了一個(gè)頭文件<stdbool.h>定義了bool,true代表1,false代表0。

只要導(dǎo)入stdbool.h,就能非常方便的操作布爾類型了。

解決方法

#include <stdbool.h>

gcc和g++編譯c或者c++文件碰到的問題

gcc 和 g++ 都是 GNU (組織) 的一個(gè)編譯器。   

誤區(qū)一:gcc只能編譯c代碼,g++只能編譯c++代碼   

兩者都可以,但是請(qǐng)注意:   

1. 后綴為.c 的,gcc 把它當(dāng)作是 C 程序,而 g++ 當(dāng)作是 c++ 程序;后綴為.cpp 的,兩者都會(huì)認(rèn)為是 c++ 程序,注意,雖然 c++ 是 c 的超集,但是兩者對(duì)語法的要求是有區(qū)別的。C++ 的語法規(guī)則更加嚴(yán)謹(jǐn)一些。  

2. 編譯階段,g++ 會(huì)調(diào)用 gcc,對(duì)于 c++ 代碼,兩者是等價(jià)的,但是因?yàn)?gcc 命令不能自動(dòng)和 C++程序使用的庫聯(lián)接,所以通常用 g++ 來完成鏈接,為了統(tǒng)一起見,干脆編譯 / 鏈接統(tǒng)統(tǒng)用 g++ 了,這就給人一種錯(cuò)覺,好像 cpp 程序只能用 g++ 似的。   

誤區(qū)二:gcc不會(huì)定義__cplusplus宏,而g++會(huì)

實(shí)際上,這個(gè)宏只是標(biāo)志著編譯器將會(huì)把代碼按 C 還是 C++ 語法來解釋,如上所述,如果后綴為.c,并且采用 gcc 編譯器,則該宏就是未定義的,否則,就是已定義。   

誤區(qū)三:編譯只能用gcc,鏈接只能用g++   

嚴(yán)格來說,這句話不算錯(cuò)誤,但是它混淆了概念,應(yīng)該這樣說:編譯可以用 gcc/g++,而鏈接可以用 g++ 或者 gcc  

-lstdc++。因?yàn)?gcc 命令不能自動(dòng)和 C++程序使用的庫聯(lián)接,所以通常使用 g++ 來完成聯(lián)接。但在編譯階段,g++ 會(huì)自動(dòng)調(diào)用 gcc,二者等價(jià)。

用 gcc 編譯 c++ 文件:

#gcc -o test.exe test.cpp -lstdc++

用 GCC 編譯 c++ 文件時(shí),必須加上 - lstdc++ 的參數(shù)選項(xiàng),告訴編譯器自動(dòng)調(diào)用 g++ 編譯器來自動(dòng)鏈接 C++ 里面的庫函數(shù),否側(cè),生成的可執(zhí)行文件不能運(yùn)行成功。

問題 2

for(int i = 0; i < 100; i++)
{
? ? ?.............
}

使用 gcc 直接編譯報(bào)錯(cuò),因?yàn)?C99 規(guī)定,變量必須事先定義好,不能使用時(shí)再定義,但是這種定義變量的方式在 C++ 中合法

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++發(fā)送HTTP請(qǐng)求的實(shí)現(xiàn)代碼

    C++發(fā)送HTTP請(qǐng)求的實(shí)現(xiàn)代碼

    這篇文章主要介紹了C++發(fā)送HTTP請(qǐng)求的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-06-06
  • C語言sizeof與字符串處理與動(dòng)態(tài)內(nèi)存分配及main函數(shù)參數(shù)詳解

    C語言sizeof與字符串處理與動(dòng)態(tài)內(nèi)存分配及main函數(shù)參數(shù)詳解

    這篇文章主要介紹了C語言字符串處理函數(shù)、sizeof、動(dòng)態(tài)內(nèi)存分配函數(shù)、main函數(shù)參數(shù)問題,static在修飾變量的時(shí)候,如果是修飾全局變量,則跟全局變量功能一樣,通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • C++ auto自動(dòng)類型推導(dǎo)規(guī)則和使用詳解

    C++ auto自動(dòng)類型推導(dǎo)規(guī)則和使用詳解

    C++11 賦予 auto 關(guān)鍵字新的含義,使用它來做自動(dòng)類型推導(dǎo)。也就是說,使用了 auto 關(guān)鍵字以后,編譯器會(huì)在編譯期間自動(dòng)推導(dǎo)出變量的類型,這樣我們就不用手動(dòng)指明變量的數(shù)據(jù)類型了
    2022-08-08
  • C語言大作業(yè)之圖書管理系統(tǒng)的實(shí)現(xiàn)詳程

    C語言大作業(yè)之圖書管理系統(tǒng)的實(shí)現(xiàn)詳程

    隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展,計(jì)算機(jī)應(yīng)用的普及,利用計(jì)算機(jī)對(duì)圖書館的日常工作進(jìn)行管理勢(shì)在必行,趁著寒假時(shí)間手把手帶你用C語言實(shí)現(xiàn)一個(gè)圖書管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2022-01-01
  • C語言中((type *)0) 和(type *0)區(qū)別小結(jié)

    C語言中((type *)0) 和(type *0)區(qū)別小結(jié)

    ((type *)0)?和?(type *0)?在 C 和 C++ 中有不同的含義和用途,本文主要介紹了C語言中((type *)0) 和(type *0)區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • C++二叉搜索樹模擬實(shí)現(xiàn)示例

    C++二叉搜索樹模擬實(shí)現(xiàn)示例

    本文主要介紹了C++二叉搜索樹模擬實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • 用C語言畫一個(gè)圓

    用C語言畫一個(gè)圓

    大家好,本篇文章主要講的是用C語言畫一個(gè)圓,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Qt數(shù)據(jù)庫應(yīng)用之?dāng)?shù)據(jù)打印到pdf

    Qt數(shù)據(jù)庫應(yīng)用之?dāng)?shù)據(jù)打印到pdf

    因?yàn)閤ls打開以后用戶可以修改數(shù)據(jù)造假之類的,而pdf默認(rèn)是不可編輯的,除非借助專業(yè)的工具,所以如果想要限定用戶導(dǎo)出數(shù)據(jù)不能被更改,那導(dǎo)出pdf是最佳選擇。所以本文將為代價(jià)介紹Qt實(shí)現(xiàn)數(shù)據(jù)打印到pdf的方法,需要的可以參考一下
    2022-01-01
  • C語言中數(shù)組作為函數(shù)的參數(shù)以及返回值的使用簡(jiǎn)單入門

    C語言中數(shù)組作為函數(shù)的參數(shù)以及返回值的使用簡(jiǎn)單入門

    這篇文章主要介紹了C語言中數(shù)組作為函數(shù)的參數(shù)以及返回值的使用簡(jiǎn)單入門,這里以一維數(shù)組作為基本條件進(jìn)行例子講解,需要的朋友可以參考下
    2015-12-12
  • C++日期類實(shí)現(xiàn)的完整操作

    C++日期類實(shí)現(xiàn)的完整操作

    C++標(biāo)準(zhǔn)庫沒有提供所謂的日期類型,C++繼承了C語言用于日期和時(shí)間操作的結(jié)構(gòu)和函數(shù),這篇文章主要給大家介紹了關(guān)于C++日期類實(shí)現(xiàn)的完整操作,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06

最新評(píng)論