草庐IT

c++ - 在析构函数中删除指针时崩溃

我遇到了对C++指针缺乏深刻理解的问题。我编写了一个名为Skymap的类,它具有以下定义:classSkymap{public:Skymap();~Skymap();voidDrawAitoffSkymap();private:TCanvasmCanvas;TBox*mSkymapBorderBox;};函数定义为:#include"Skymap.h"Skymap::Skymap(){mCanvas.SetCanvasSize(1200,800);mMarkerType=1;}Skymap::~Skymap(){deletemSkymapBorderBox;}voidSkymap::D

c++ - 使用自定义析构函数时出现 "Undefined reference"错误

我正在尝试编写一个需要释放一些内存的类,因此我定义了一个自定义析构函数。这被编译为共享库。但是,当我尝试编译一个基本程序以使用该库时,当找不到定义时,我会收到常见的“undefinedreference”错误。如果我删除析构函数,则不会发生这种情况。这是一个精简的例子:头文件:#ifndef_SKYMAP_H_#define_SKYMAP_H_#include#include"TCanvas.h"classBL_Skymap{public:BL_Skymap();~BL_Skymap();protected:TCanvasmCanvas;};#endif//_BENSLIBRARY_S