C中的空结构与C++中的空结构

Moh*_*lar 7 c c++ struct rationale

为什么C中的空结构违反约束?为什么在C++中更改此规则?

有历史原因吗?

Jen*_*edt 8

因为你没有C中的继承,所以你不需要它们.如果您只想拥有可区分的指针类型,则可以使用指向不完整类型的指针.

struct opaque;

struct opaque* stranger = 0;
Run Code Online (Sandbox Code Playgroud)

应该工作正常.