Задача предельно простая. Есть класс вида:
template <class T>
class TableModel : public QAbstractTableModel
{
// ...
// Это виртуальный метод.
int rowCount(const QModelIndex &parent = QModelIndex()) const { // ... }
}
Всё работало прекрасно, пока я не решил прогнать код через clang с доп. проверками.
Он мне выдал следующее:
warning: 'TableModel' has no out-of-line virtual method definitions; its vtable
will be emitted in every translation unit [-Wweak-vtables]
То есть нужно перенести реализацию виртуальных методов в cpp. Но я не могу это сделать в шаблонном классе.
Как быть?