Вопрос

У меня есть класс, который определяется как следующее:

template <class WidgetType>
class CometWidget : public WidgetType;

Внутри функции я делаю это:

dynamic_cast<CometWidget *>(iter2->second.second)->changesCommited_();

и это разрешает CometWidget введите, подчиняется и запустите правильно.
Код работает внутри CometWidget учебный класс.

Как это происходит?
Почему это так? Должен ли он даже собрать?

Это было полезно?

Решение

Вы можете добавить панель инструментов атрибута= «Нет» в элементе просмотра

<View BaseViewID="1" ... ToolbarTemplate="None" ...
.

Другие советы

Действительно очень интересно. Мне кажется интересной ошибкой компилятора.

Можно вывести правильный аргумент шаблона CometWidget <> - точно так же, как вы можете вывести параметры шаблона функции из списка аргументов. Если бы это был статический актерский состав, это было бы менее удивительно.

С динамическим составом, между источником и целевым типом мало что будет общего. Таким образом, такое «угадание» могло произойти, но тогда это не является законным.

Что это за компилятор?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top