我有一个基类,它由多个派生类继承。我想创建基类指针的自动指针数组。当我初始化那些自动指针时,我得到了一些编译时错误,然后我尝试这样做
std::auto_ptr<base>pbase[3];
std::auto_ptr<base> b1(new derived1());
std::auto_ptr<base> b2(new derived2());
std::suto_ptr<base> b3(new derived3());
pbase[0] = b1;
pbase[1] = b2;
pbase[2] = b3;
它工作正常,我修复了内存泄漏问题,而我是一个窗口,我不使用 valgrind,我使用 boost 框架进行泄漏。
对于编译错误:
class A{
public:
std::auto_ptr<base>pbase[2];
}
在 A.cpp 文件中
A::A():pbase[0](new derived1()), pbase[1](new derived2()){
}
我有错误C2059:syntax error : '['