虚函数实现缺少类型说明符
Missing type specifier on virtual function implementation
我有以下 类 的结构(在 C++ 中):
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 在 C
中的 foo
的定义中给出了错误 missing type specifier - int assumed. Note: C++ does not support default-int.
。为什么会这样,如何解决?
您忘记了 typename
关键字。
template<typename T>
//-------^^^^^^^^
我有以下 类 的结构(在 C++ 中):
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 在 C
中的 foo
的定义中给出了错误 missing type specifier - int assumed. Note: C++ does not support default-int.
。为什么会这样,如何解决?
您忘记了 typename
关键字。
template<typename T>
//-------^^^^^^^^