Visual studio C++ 中定义union和struct报错???#include "stdafx。h"
#include "stdio。h"
#include "conio。h"
int main() {
union{ /*定义一个共用体*/
int i;
struct{ /*在共用体中定义一个结构*/
char first;
char second;
}half;
}number;
number。
i=0x4241;/* 16进制赋值二进制0100 0010 0100 0001*/
printf("%c%c\n", number。half。first, mumber。half。second);
number。half。first = 'a'; /*共用体中结构成员赋值*/
number。
half。second = 'b';
printf("%x\n", number。i);
getch(); /* 按任意键结束程序 or system("pause"); */
return 0;
}
在Visual studio 2008 中编译后有如下报错:
Error 1 error C2065: 'mumber' : undeclared identifier e:\test\c example test\test\test\test。
cpp 22 test
Error 2 error C2228: left of '。half' must have class/struct/union e:\test\c example test\test\test\test。cpp 22 test
Error 3 error C2228: left of '。
second' must have class/struct/union e:\test\c example test\test\test\test。cpp 22 test。
union
{
/*定义一个共用体*/
int i;
struct
{
/*在共用体中定义一个结构*/
char first;
char second;
}half;
}number;
number。
i=0x4241;/* 16进制赋值二进制0100 0010 0100 0001*/
//printf("%c%c\n", number。half。first, mumber。
half。second);
number。half。first = 'a'; /*共用体中结构成员赋值*/
number。 half。second = 'b';
我在2005里面编译很正常没有错误。