簡體   English   中英

C++ 錯誤:'沒有命名類型錯誤'

[英]C++ error : 'does not name a type error '

當運行這個程序時,編譯器給出一個錯誤,說“ varA (在 class C)沒有命名類型”。我怎么了?解釋一下。

#include <iostream>
using namespace std;

class A{
private:
    int PrvA1;
public:
     A(){PrvA1=0;}
    void SetPrvA1(int x){PrvA1=x;}
    int show(){return PrvA1;}
};

class C{
    A varA;
    varA.SetPrvA1(20);
    public:
    void show(){
            cout<<varA.show()<<endl;
    }

};

int main(){
    A a1;
    C c1;
    a1.SetPrvA1(30);
    cout<<a1.show()<<endl;
    c1.show();
}

你不能在沒有方法(或構造函數)的情況下直接在 class 中初始化,改為

class C{
    A varA;
    
    public:
    C(){ varA.SetPrvA1(20);}
    void show(){
            cout<<varA.show()<<endl;
    }

};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM