У меня есть следующая структура классов (в C++):Missing спецификатор типа по реализации виртуальной функции
template<T>
class A {
class B {
class C_Base {
virtual int foo(const T &a, const T &b) = 0;
};
template<U>
class C final : public C_Base {
const U &x;
virtual int foo(const T &a, const T &b) {
return x(a, b);
}
};
};
};
Однако MSVC дает мне ошибку missing type specifier - int assumed. Note: C++ does not support default-int.
по определению foo
внутри C
. Почему это и как его можно исправить?
Вы что-то делаете. Пытаться скомпилировать этот код немедленно сработает в самой первой строке: 'template'. Исправление этих ошибок делает его компиляцией в MSVC без каких-либо проблем. –
AnT