我不知道要搜索什么才能找到对此的解释,所以我在问。
我有这个报告错误的代码:
struct Settings{
int width;
int height;
} settings;
settings.width = 800; // 'settings' does not name a type error
settings.height = 600; // 'settings' does not name a type error
int main(){
cout << settings.width << " " << settings.height << endl;
但是如果我将值赋值放在 main 中,它会起作用:
struct Settings{
int width;
int height;
} settings;
main () {
settings.width = 800; // no error
settings.height = 600; // no error
你能解释一下为什么吗?
编辑:
关于 Ralph Tandetzky 的回答,这是我的完整结构代码。你能告诉我如何像使用我的片段结构一样分配值吗?
struct Settings{
struct Dimensions{
int width;
int height;
} screen;
struct Build_menu:Dimensions{
int border_width;
} build_menu;
} settings;