Я знаю, что виртуальное наследование обсуждалось здесь раньше, и прежде чем задать этот вопрос, я подробно рассмотрел виртуальное наследование и подробно рассмотрел аналогичную проблему, например следующую:
множественное-наследование-бриллиантов-компилируется-без-виртуального-но-не-с
и
почему GCC выдает мне ошибку — окончательный переопределение
Моя проблема немного другая, поскольку я не использую чисто виртуальную функцию, а явно использую виртуальное наследование для создания одного уникального базового класса. Иерархия следующая:
Код: Выделить всё
base
/\
/ \
der1 der2
\ /
der3
Код: Выделить всё
#include
class base
{
public :
base()
{
std::cout
Источник: [url]https://stackoverflow.com/questions/24006199/virtual-inheritance-error-no-unique-final-overrider[/url]