通过将其指针作为参数传递来删除对象

时间:2017-04-24 09:48:06

标签: c++ pointers memory-management

我有两个班级:

在我的.h文件中:

class A
{
    A();

 private:
 vector<B*> list;

 void deleteObject(B* i);

 }


class B
{
  B();
}

在我的.cpp文件中:

void A::deleteObject(B* i)
{
    delete i;
}

但是,Visual Studio以红色突出显示deleteObject,并表示它与头文件中的声明不兼容

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:-1)

您需要在课程结束时(;之后)

添加}

此外,如果两个类都在同一个文件中,则必须将B类放在A类

之上
class B
{
    B();
};

class A
{
     A();    
     private:
         vector<B*> list;    
         void deleteObject(B* i);    
};    

您可以看到此无错代码here