虚函数实现上缺少类型说明符

时间:2016-05-22 04:45:29

标签: c++ templates c++11 visual-c++ virtual-functions

我有以下类的结构(在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在missing type specifier - int assumed. Note: C++ does not support default-int.内的foo定义中给出了错误C。为什么会这样,以及如何解决?

1 个答案:

答案 0 :(得分:4)

您忘记了typename关键字。

template<typename T>
//-------^^^^^^^^