如何初始化类对象的结构变量?我有以下代码:
#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’
答案 0 :(得分:3)
不,这段代码不正确。您引用了一个永远不会声明的类型bitmap_list_value
。
根据你的评论(“bitmap_list_value是类位图的对象”),听起来好像你也有这个,但由于某种原因没有将它包含在你的问题代码中:
typedef bitmap bitmap_list_value;
但是,是的,您当然可以在struct
s中包含类类型的成员。 struct
或多或少是class
,默认情况下所有字段都为public
,您可以像使用类一样定义structs
内的方法,依此类推。< / p>