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

C++報(bào)錯(cuò) XX does not name a type;field `XX’ has incomplete type的解決方案

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

C++報(bào)錯(cuò) XX does not name a type;field `XX’ has incomplete type解決方案

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

編譯錯(cuò)誤一:XX does not name a type

編譯錯(cuò)誤二:field `XX’ has incomplete type

編譯錯(cuò)誤一:XX does not name a type

拿個(gè)例子來(lái)講,如果兩個(gè)類定義如下:

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

編譯成則將報(bào)一個(gè)error:“A does not name a type”

即使clase A和class B分別在兩個(gè)文件定義,并且在定義B的文件頭中#include了class A的頭文件也同樣會(huì)報(bào)這個(gè)錯(cuò)(這是因?yàn)榫幾g和鏈接之間的先后關(guān)系造成的)。

解決該錯(cuò)誤的辦法:

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

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

編譯錯(cuò)誤二:field `XX’ has incomplete type

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

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

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

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

這樣,這段簡(jiǎn)單的代碼才能沒有錯(cuò)誤的通過編譯。

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

相關(guān)文章

  • windows下安裝QT及visual studio 2017搭建開發(fā)環(huán)境

    windows下安裝QT及visual studio 2017搭建開發(fā)環(huán)境

    這篇文章主要介紹了windows下安裝QT及visual studio 2017搭建開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • c語(yǔ)言中static的用法詳細(xì)示例分析

    c語(yǔ)言中static的用法詳細(xì)示例分析

    以下是對(duì)c語(yǔ)言中static函數(shù)的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來(lái)參考下
    2013-08-08
  • C++內(nèi)存分布及用法

    C++內(nèi)存分布及用法

    這篇文章主要介紹了C++內(nèi)存分布及用法,從內(nèi)存的基礎(chǔ)概念到內(nèi)存分配進(jìn)行了講解,內(nèi)存是我們開發(fā)中最重要的一部分,往往邏輯上的錯(cuò)誤就會(huì)造成內(nèi)存泄漏,導(dǎo)致程序無(wú)法運(yùn)行,下面我們就來(lái)了解文章對(duì)該內(nèi)容的詳細(xì)介紹
    2021-12-12
  • C++11中bind綁定器和function函數(shù)對(duì)象介紹

    C++11中bind綁定器和function函數(shù)對(duì)象介紹

    這篇文章主要介紹了C++11中bind綁定器和function函數(shù)對(duì)象介紹,綁定器,函數(shù)對(duì)象和lambda表達(dá)式只能使用在一條語(yǔ)句中,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-07-07
  • 基于OpenCV?差分法實(shí)現(xiàn)綠葉識(shí)別

    基于OpenCV?差分法實(shí)現(xiàn)綠葉識(shí)別

    物體識(shí)別是圖像處理學(xué)在現(xiàn)實(shí)生活中較多的應(yīng)用之一,本文提供了一種相對(duì)簡(jiǎn)單的思路來(lái)實(shí)現(xiàn)綠葉識(shí)別,適合初學(xué)圖像處理的新人研究參考。感興趣的同學(xué)可以關(guān)注一下
    2021-11-11
  • C語(yǔ)言平衡二叉樹詳解

    C語(yǔ)言平衡二叉樹詳解

    這篇文章主要介紹了C語(yǔ)言平衡二叉樹的相關(guān)資料,需要的朋友可以參考下,小編覺得這篇文章寫的還不錯(cuò),希望能夠給你帶來(lái)幫助
    2021-11-11
  • 怎么實(shí)現(xiàn)類的成員函數(shù)作為回調(diào)函數(shù)

    怎么實(shí)現(xiàn)類的成員函數(shù)作為回調(diào)函數(shù)

    不使用成員函數(shù),為了訪問類的成員變量,可以使用友元操作符(friend),在C++中將該函數(shù)說明為類的友元即可
    2013-10-10
  • C/C++?extern關(guān)鍵字用法示例全面解析

    C/C++?extern關(guān)鍵字用法示例全面解析

    這篇文章主要為大家介紹了C/C++?extern關(guān)鍵字用法示例全面解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • c語(yǔ)言字符數(shù)組與字符串的使用詳解

    c語(yǔ)言字符數(shù)組與字符串的使用詳解

    本篇文章是對(duì)c語(yǔ)言中字符數(shù)組與字符串的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 如何在c語(yǔ)言下關(guān)閉socket

    如何在c語(yǔ)言下關(guān)閉socket

    如果不主動(dòng)關(guān)閉socket的話,系統(tǒng)不會(huì)自動(dòng)關(guān)閉的,除非當(dāng)前進(jìn)程掛掉了,操作系統(tǒng)把占用的socket回收了才會(huì)關(guān)閉。下面小編來(lái)簡(jiǎn)單介紹下
    2019-05-05

最新評(píng)論