0

我有这样的代码:

class Base { ... };

class Derived : public Base
{ ... };

boost:shared_ptr<Base> p;

int main()
{
  p(new Derived);
 ...
}

在我看来,这行不通。我错过了什么?

4

1 回答 1

2

您在类初始化和赋值中感到困惑。成员初始化器列表语法仅适用于类主体内部:

p = boost::make_shared<Derived>();
于 2013-10-19T13:37:32.423 回答