我对此有点困惑。当默认堆栈分配的对象结构被允许作为其他结构的成员变量时,为什么不参数化构造? Most Vexing Parse与此有什么关系?我尝试了C++ 0X以及ideone并获得了相同的结果。参数构造函数调用
struct foo{
foo() {}
foo(int i) {}
};
struct bar{
foo obj; // Allowed
foo obj2(10); // Not Allowed
};
Error: expected ‘,’ or ‘...’ before numeric constant