(寒假自学Qt,尝试做五子棋小游戏。C++基础很差,所以这个问题卡了比较久,以下是找到的两种解决方法。)
在编译Qt程序时,报错error: undefined reference to `GameModel::~GameModel()’。
这是因为Qt不会自动生成类的析构函数,所以需要我们自己编写,就算是空函数也要写。我们手写好GameModel::~GameModel()后,再编译问题就消失了。
下面有两种方法来编写析构函数:
方法一:
在.cpp文件中
方法二:
在.h文件中
类的析构函数:
类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。
析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。