下一个类将使用成员变量newTodayTaskStringstring)启动。

销毁对象时,我喜欢删除字符串,但是在编译项目时,我收到一条错误消息,指出销毁者删除行说:

删除:std :: string不能转换为void

类:

class TodayTask {
private:
    string newTodayTaskString;

public:
    TodayTask (string t) : newTodayTaskString (t){}

    // Destr.
    ~TodayTask () {
        delete newTodayTaskString;
    }

    string getTodayTaskString () const {
        return newTodayTaskString;
    }
};

最佳答案

必须为delete提供一个指针,并且只能用于销毁使用new创建的对象。

在这种情况下,对象是类成员,因此将被自动销毁。您无需在析构函数中对其进行任何处理。

关于c++ - C++析构函数无法正常工作,编译错误,仅尝试使用destr删除成员变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11342734/

10-12 20:38