我有一个问题,要使用带有工会元素的scanf作为参数,而高级工会是嵌套结构的一部分。
#include <stdio.h>
int main()
{
typedef union { float chair; int bed; } HABITATION;
typedef struct { HABITATION room; int number; } HOUSE;
scanf("%d",&HOUSE.room.bed);
}
来自编译器的错误消息是:“错误:) >> ROOF <
我做错了什么?
INFO:我目前使用C,但是我也对相同的操作和对C ++的回答感兴趣。
我不了解C,但是在C ++中,您的代码应等效于:
#include <stdio.h>
union HABITATION { float chair; int bed; };
struct HOUSE { HABITATION room; int number; };
int main()
{
scanf("%d",&HOUSE.room.bed);
}
也许现在很明显,您仅定义了两种类型,但是从未在此代码中创建任何实例。 HOUSE
是类型而不是实例。