1,自身不嵌套.
2,无后复制,析构器,赋值操作符
3,无引用字段及非pod字段
.
extern(C++) {
struct Foo {
void[32] _;
}
struct Bar {
this(Foo foo);
}
}
void oops() {
auto foo = Foo();
auto bar = Bar(foo);
}
//下面是等价的c++
struct Foo {
char _[32];
};
struct Bar {
Bar(Foo foo);
};
void oops() {
auto foo = Foo();
auto bar = Bar(foo);
}