最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決gcc編譯報錯unknown type name ‘bool‘問題

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

gcc編譯報錯unknown type name ‘bool‘

錯誤描述

unknown type name ‘bool’

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

? ?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;
? ? ? ? ?^~~~~

錯誤原因

未知的類型名:‘bool’, 因為在C語言標準(C89)沒有定義布爾類型,所以會報錯。

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

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

解決方法

#include <stdbool.h>

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

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

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

兩者都可以,但是請注意:   

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

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

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

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

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

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

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

用 gcc 編譯 c++ 文件:

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

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

問題 2

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

使用 gcc 直接編譯報錯,因為 C99 規(guī)定,變量必須事先定義好,不能使用時再定義,但是這種定義變量的方式在 C++ 中合法

總結(jié)

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

相關(guān)文章

  • C++ HLSL實現(xiàn)簡單的圖像處理功能

    C++ HLSL實現(xiàn)簡單的圖像處理功能

    本文主要介紹了HLSL實現(xiàn)簡單的圖像處理功能的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • C語言實現(xiàn)俄羅斯方塊課程設(shè)計

    C語言實現(xiàn)俄羅斯方塊課程設(shè)計

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)俄羅斯方塊課程設(shè)計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C++實現(xiàn)Dijkstra算法

    C++實現(xiàn)Dijkstra算法

    這篇文章主要為大家詳細介紹了C++實現(xiàn)Dijkstra算法完整代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C++中std::construct()與std::destroy()的使用

    C++中std::construct()與std::destroy()的使用

    std::construct()和std::destroy()是C++ STL中的函數(shù)模板,用于在已分配的存儲區(qū)域中構(gòu)造或銷毀對象,本文主要介紹了C++中std::construct()與std::destroy()的使用,感興趣的可以了解一下
    2024-02-02
  • 使用Matlab繪制七夕咕呱小青蛙

    使用Matlab繪制七夕咕呱小青蛙

    七夕節(jié)到了還不快給你的朋友安排上這只咕呱小青蛙?本文將用Matlab繪制一個可愛的咕呱小青蛙,感興趣的小伙伴可以動手嘗試一下
    2022-08-08
  • C++中replace()函數(shù)使用方法匯總

    C++中replace()函數(shù)使用方法匯總

    這篇文章主要介紹了C++中replace()函數(shù)使用方法匯總,在這篇文章中為大家詳細介紹C++ replace()函數(shù)的各種應(yīng)用方式,希望朋友們可以從這里介紹的內(nèi)容充分掌握這一應(yīng)用技巧
    2015-11-11
  • 詳解C++設(shè)計模式編程中對訪問者模式的運用

    詳解C++設(shè)計模式編程中對訪問者模式的運用

    這篇文章主要介紹了C++設(shè)計模式編程中對訪問者模式的運用,訪問者模式在不破壞類的前提下為類提供增加新的新操作,需要的朋友可以參考下
    2016-03-03
  • QT與MATLAB混合編程的詳細教程

    QT與MATLAB混合編程的詳細教程

    最近項目需要,matlab的一些算法需要工程用,因此需要直接轉(zhuǎn)成Qt能夠調(diào)用的形式,下面這篇文章主要給大家介紹了關(guān)于QT與MATLAB混合編程的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • C++私有繼承(二)

    C++私有繼承(二)

    這篇文章主要介紹了C++私有繼承,在私有繼承時,基類的公有對象以及保護對象會變成派生類的私有對象。我們可以在派生類方法當(dāng)中使用它,但無法通過派生類對象直接調(diào)用,但無法訪問基類的私有方法和對象,下面具體內(nèi)容,需要的朋友可以參考一下
    2022-01-01
  • C語言實現(xiàn)字符串相連的四種方法

    C語言實現(xiàn)字符串相連的四種方法

    本文介紹了C語言中四種常見的字符串連接方法:strcat函數(shù)直接連接,sprintf函數(shù)格式化輸出,先復(fù)制后連接(strcpy+strcat),以及使用指針操作,詳細展示了每個方法的代碼示例,需要的朋友可以參考下
    2025-07-07

最新評論

昭苏县| 棋牌| 阿克| 庄浪县| 九寨沟县| 股票| 巢湖市| 南皮县| 南康市| 岐山县| 侯马市| 奎屯市| 保定市| 上饶市| 光山县| 昭通市| 甘洛县| 马鞍山市| 兴城市| 镇江市| 嫩江县| 霍州市| 通江县| 长宁县| 金门县| 望谟县| 北辰区| 福鼎市| 旺苍县| 横山县| 民权县| 沙河市| 新巴尔虎左旗| 青铜峡市| 孟连| 和平县| 敖汉旗| 永吉县| 罗山县| 社旗县| 静宁县|