2011-12-20 26 views
-4

クラス型オブジェクトの構造体変数を初期化するにはどうすればよいですか?クラスオブジェクトの構造体の初期化

#include<iostream> 

using namespace std; 

class bitmap { 
     public : 
     bitmap() { clear() ;} 
     get(); 

     set(); 
     clear(); 

    static const int a=10; 

}; 

bitmap::get() { 

}; 


struct bitmap_list { 

     bitmap_list_value   _value; 
} 

int main() 
{ 

     bitmap bitmap_list_value; 

     bitmap_list bbbb; 
     bbbb. _value=bitmap_list_value.a; 

     cout << bbbb._value << endl; 

} 

このコード正しいですか、それはクラスオブジェクトを含む構造体を初期化することが可能である:私は、次のコードを持っていますか?これは私が受け取るエラーです:

>error: ‘struct error: ‘_bitmap_list_value’ does not name a type 
>error:bitmap_list’ has no member named ‘_value’ 
+5

'bitmap_list_value'とは何ですか? –

+0

あなたにもaがありません。 bitmap_list宣言から... – mark

+0

おそらく 'struct bitmap_list {int _value;}'を意味していましたか? –

答えて

3

いいえ、このコードは正しくありません。決して宣言されていないタイプbitmap_list_valueを参照しています。あなたのコメントに基づいて

は(「bitmap_list_valueは、クラスマップのオブジェクトである」)、それはあなたにもこれを持っているかのように聞こえるが、何らかの理由であなたの質問のコードでそれを含めていない。

typedef bitmap bitmap_list_value; 

しかし、もちろん、structにクラス型のメンバーを含めることができます。 A structは、デフォルトでであり、すべてのフィールドがpublicになっています。structsのようにメソッドを定義することができます。

+0

bitmap_list_valueはビットマップ – user1095505

+0

のオブジェクトで、私の質問は構造内にクラスオブジェクトを宣言することは可能ですか? – user1095505

+0

はいクラス/構造体の内部でクラス/構造体を宣言するのが有益です。 – mark

関連する問題