求问为什么这个结构体的声明没有错呢?
源代码如下,结构体后面不都是要";"符号的么,我这个程序没有;符号,但是在vc6.0里面能编译通过啊
#include<iostream.h>
struct h{
}
main()
{
cout<<sizeof(h)<<endl;
}
[解决办法]
你把main前面加上int就报错了,你没加int,结构体又没以;结尾,编译器所main的类型看成了是struct h(当然之后会隐式转换成int)。所以没出错。
但是同样的代码放到VS2010下试验就失败了,因为VS2010下不允许使除int和void以外的main,按理void类型的也不是标准的。