Имею класс KnowTreeModel, унаследованный от QAbstractItemModel.
Согласно концепции динамического полиморфизма, указатель базового класса может указывать на объект производного. Однако у меня это никогда не получалось:
currentModel=knowTreeView->model();
Error: invalid conversion from 'QAbstractItemModel*' to 'KnowTreeModel*' [-fpermissive]
где:
- currentModel - имеет тип KnowTreeModel*
- knowTreeView->model() - возвращает тип QAbstractItemModel*
И я постоянно пользуюсь static_cast(), чтобы эти типы преобразовывать. Но мне говорят, что этого делать не нужно. А компилятор считает по-другому. Почему так?