C++ C+中的结构中的结构+;
如何访问在另一个结构中定义的结构的成员?C++ C+中的结构中的结构+;,c++,struct,C++,Struct,如何访问在另一个结构中定义的结构的成员? 假设我们有一个结构定义为: struct FR { size_t n; struct FR_1{ unsigned char r; unsigned char g; unsigned char b; }; }; 在visual studio 2015下,编写: struct FR x; x.FR_1. 不显示FR_1成员的选项。另一方面,写入: struct FR
假设我们有一个结构定义为:
struct FR {
size_t n;
struct FR_1{
unsigned char r;
unsigned char g;
unsigned char b;
};
};
在visual studio 2015下,编写:
struct FR x;
x.FR_1.
不显示FR_1成员的选项。另一方面,写入:
struct FR_1 y代码>
说明:错误,不允许输入不完整。
如何处理这种结构?示例声明的是类型struct FR\u 1
,而不是该类型的成员。相反,请尝试:
struct FR {
size_t n;
struct FR_1 {
unsigned char r;
unsigned char g;
unsigned char b;
} fr1;
};
FR x;
x.fr1.r = 0;
您需要实际创建结构的实例。下面是一个普通的结构
声明
struct struct-name {
members
} inst;
所以你需要把它声明为
struct FR {
size_t n;
struct FR_1 {
unsigned char r;
unsigned char g;
unsigned char b;
} fr1;
};
现在你可以写作了
FR fr;
fr.fr1.r = 255;
. . .
您定义了一个内部结构,但没有该类型的成员。您需要将其声明为FR::FR_1,您知道这在每个。也许你应该买一个,学习这门语言。
struct FR {
size_t n;
struct FR_1 {
unsigned char r;
unsigned char g;
unsigned char b;
} fr1;
};
FR fr;
fr.fr1.r = 255;
. . .