1
考虑下面的代码:构造结构与私人会员
class A
{
private:
struct B { private: int i; friend class A; };
public:
static void foo1()
{
B b;
b.i = 0;
}
static void foo2()
{
B b = {0};
}
};
为什么foo1工作,但不foo2的? A类不是结构体初始化构造函数吗?无论如何要在C++ 11中完成这项工作吗?
(注意,删除私人品牌foo2的工作。)