C和C ++中空结构的大小

Ram*_*hna 2 c c++

空结构的sizeof在C中为0字节,但在C ++中为1字节。为什么?有什么不同?

Sun*_*lly 6

C其不正确的,你不能有struct没有在它的成员。

C99 says

如果struct-declaration-list不包含命名成员,则该行为未定义。

但是,GCC允许您没有大小为的无成员结构0G++将struct视为具有单个type成员char

看看前面的SO回答,为什么在C ++中大小为1B