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

C++報錯 XX does not name a type;field `XX’ has incomplete type的解決方案

 更新時間:2023年08月03日 12:01:28   作者:coder i++  
這篇文章主要給大家介紹了C++報錯 XX does not name a type;field `XX’ has incomplete type解決方案,文中通過代碼示例講解的非常詳細,需要的朋友可以參考下

C++報錯 XX does not name a type;field `XX’ has incomplete type解決方案

兩個C++編譯錯誤及解決辦法–does not name a type和field `XX’ has incomplete type

編譯錯誤一:XX does not name a type

編譯錯誤二:field `XX’ has incomplete type

編譯錯誤一:XX does not name a type

拿個例子來講,如果兩個類定義如下:

class B{
public:
B(){}
~B(){}
private:
A a;
};
class A{
public:
A(){}
~A(){}
private:
int a;
};

編譯成則將報一個error:“A does not name a type”

即使clase A和class B分別在兩個文件定義,并且在定義B的文件頭中#include了class A的頭文件也同樣會報這個錯(這是因為編譯和鏈接之間的先后關(guān)系造成的)。

解決該錯誤的辦法:

在class B定義聲明之前先聲明一下class A, 如下:

class A;
class B{
public:
B(){}
~B(){}
private:
A a;
};
class A{
public:
A(){}
~A(){}
private:
int a;
};

編譯錯誤二:field `XX’ has incomplete type

同樣緊跟上面的例子,通過問題一的辦法,第一個錯誤已經(jīng)消失,但是馬上第二個錯誤就出現(xiàn)了!還是同一個位置。

這個錯誤的意思,就是說class B中的XX域的類型不夠完整,為什么呢?明明class A后面已經(jīng)定義好了啊。其實原因還是和前面一樣,在class B定義之前,我們也只是對class A進行了聲明而并沒有進行具體的定義,所以解決該錯誤的方法是:

將class B定義中的A域改用指針就行了。改正后代碼為:

class A;
class B{
public:
B(){}
~B(){}
private:
A *a;
};
class A{
public:
A(){}
~A(){}
private:
int a;
};

這樣,這段簡單的代碼才能沒有錯誤的通過編譯。

到此這篇關(guān)于C++報錯 XX does not name a type;field `XX’ has incomplete type解決方案的文章就介紹到這了,更多相關(guān)C++報錯field `XX’ has incomplete type內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++隨機數(shù)生成工具實現(xiàn)詳解

    C++隨機數(shù)生成工具實現(xiàn)詳解

    這篇文章主要介紹了C++隨機數(shù)生成工具的實現(xiàn),隨機數(shù)是計算機科學(xué)、數(shù)值計算與工程應(yīng)用中最基礎(chǔ)、也最關(guān)鍵的組件之一,需要的朋友可以參考下
    2026-02-02
  • QT 實現(xiàn)隨機驗證碼功能

    QT 實現(xiàn)隨機驗證碼功能

    本文介紹了如何使用QT技術(shù)實現(xiàn)一個具有動態(tài)效果的隨機驗證碼系統(tǒng),詳述了CaptchaMovableLabel和CaptchaLabel兩個自定義類的功能,包括顯示和拖動字母、繪制噪音點和線條、以及隨機生成字母等,講解了如何通過繼承QWidget和QLabel來實現(xiàn)這些功能,并通過MainWindow創(chuàng)建界面
    2024-10-10
  • C++ OpenCV實戰(zhàn)之網(wǎng)孔檢測的實現(xiàn)

    C++ OpenCV實戰(zhàn)之網(wǎng)孔檢測的實現(xiàn)

    這篇文章主要介紹了如何利用C++和OpenCV實現(xiàn)網(wǎng)孔檢測,文中的示例代碼講解詳細,對我們學(xué)習(xí)OpenCV有一定幫助,感興趣的小伙伴可以了解一下
    2022-05-05
  • C++類的靜態(tài)成員變量與靜態(tài)成員函數(shù)詳解

    C++類的靜態(tài)成員變量與靜態(tài)成員函數(shù)詳解

    下面小編就為大家?guī)硪黄狢++類的靜態(tài)成員變量與靜態(tài)成員函數(shù)的文章。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • C++內(nèi)存四區(qū)之代碼區(qū)、全局區(qū)、棧區(qū)和堆區(qū)

    C++內(nèi)存四區(qū)之代碼區(qū)、全局區(qū)、棧區(qū)和堆區(qū)

    C++編譯器會把代碼直接分為四個小區(qū),弄懂這四小區(qū)對我們理解內(nèi)存有所幫助,所以下面這篇文章主要給大家介紹了關(guān)于C++內(nèi)存四區(qū)之代碼區(qū)、全局區(qū)、棧區(qū)和堆區(qū)的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • C++實現(xiàn)LeetCode(52.N皇后問題之二)

    C++實現(xiàn)LeetCode(52.N皇后問題之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(52.N皇后問題之二),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 淺談MFC 改變控件大小和位置

    淺談MFC 改變控件大小和位置

    在用VC開發(fā)應(yīng)用程序時,經(jīng)常會要做一些可以改變大小的對話框,而這個時候就要求對話框上的控件會隨著對話框大小的改變而改變自己的位置和大小。下面我們就來探討下在MFC中如何改變控件大小和位置
    2015-06-06
  • 詳解C++中的四種類型轉(zhuǎn)換運算符

    詳解C++中的四種類型轉(zhuǎn)換運算符

    隱式類型轉(zhuǎn)換是安全的,顯式類型轉(zhuǎn)換是有風(fēng)險的,C語言之所以增加強制類型轉(zhuǎn)換的語法,就是為了強調(diào)風(fēng)險,讓程序員意識到自己在做什么,本文將給大家詳細介紹一下C++中的四種類型轉(zhuǎn)換運算符,需要的朋友可以參考下
    2023-09-09
  • QML與C++交互的實現(xiàn)步驟

    QML與C++交互的實現(xiàn)步驟

    本文主要介紹了QML與C++交互的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • c/c++中opencv實現(xiàn)腐蝕的示例代碼

    c/c++中opencv實現(xiàn)腐蝕的示例代碼

    圖像腐蝕是形態(tài)學(xué)圖像處理中的一種基本操作,OpenCV的cv::erode函數(shù)實現(xiàn)該功能,具有一定的參考價值,感興趣的了解一下
    2025-06-06

最新評論

象山县| 酉阳| 盐亭县| 西峡县| 玉环县| 邵阳县| 榕江县| 赤水市| 惠来县| 广饶县| 嘉荫县| 门源| 肇东市| 石泉县| 尉犁县| 海门市| 西安市| 信丰县| 金沙县| 泗阳县| 桂东县| 甘德县| 浮梁县| 津南区| 商河县| 桓台县| 乾安县| 兰考县| 荥经县| 岗巴县| 桓仁| 延吉市| 恩平市| 扎囊县| 达孜县| 都匀市| 三明市| 赤峰市| 抚顺市| 唐海县| 定西市|