[英]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.