可能重复:
Empty class in C++
What is the size of an empty struct in C?sizeof空结构在C中为0,在C++中为1为什么?
我读的地方在C++中的空结构的该尺寸为1因此,我认为它检验的。 不幸的是我把它保存为一个C文件并且使用了<stdio.h>
头文件,我很惊讶地看到输出。这是0
这意味着,当在作为C++文件编译为C文件和1个编译
struct Empty {
};
int main(void)
{
printf("%d",(int)sizeof(Empty));
}
被打印0。我想知道原因。我读过C++中的sizeof空结构不是零,因为如果大小为0,则该类的两个对象将具有相同的地址,这是不可能的。我错在哪里?
-1不,你没”把它编译成'C'。 – pmg 2010-10-03 10:13:34
@Ninad:你试过[这个](http://ideone.com/WAxMI)吗? – 2010-10-03 10:17:12
当您在这个级别的语言中提出问题时,请包含编译器名称和版本。 – 2010-10-03 10:18:24