Qt 使用 类模板 编程的一些奇怪现象。
情景说明:模板基类有两个成员变量,派生类使用基类的成员变量。 Qt4.8.6提示警告, Qt5.6.0提示错误。分别截图如下:
Qt4.8.6:
Qt5.6.0:
解决办法: 在派生模板类中,给使用到的基类成员变量添加 空间标识。 (!!!提出疑问: 砖石结构的继承体系这么干是没问题, 请问 菱形结构的继承体系--虚继承时,这么干恐怕该不合适了,请网友赐教....thanks very much)
为保证代码在各种Qt版本中都能编译通过, 我便使用了这种方案。样例代码如下: