Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 虚拟函数实现中缺少类型说明符_C++_Templates_C++11_Visual C++_Virtual Functions - Fatal编程技术网

C++ 虚拟函数实现中缺少类型说明符

C++ 虚拟函数实现中缺少类型说明符,c++,templates,c++11,visual-c++,virtual-functions,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;

我在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给了我一个缺少类型说明符-int的错误。注:C++不支持Debug T-In。C. Why中Foo的定义是这个,它是如何固定的?

< P>你忘记了Type NealEngy。< /P> 你忘记了typename关键字


你在瞎编。试图编译这段代码将立即在第一行失败:template。修复这些错误会使它在MSVC中编译时没有任何问题。你是在编造一些东西。试图编译这段代码将立即在第一行失败:template。修复这些错误使它在MSVC中编译没有任何问题。。。谢谢你,我真不敢相信我竟然忘了这样的事……这是多么漫长的一天啊。。。谢谢你,我真不敢相信我竟然忘了这样的事。。。
template<typename T>
//-------^^^^^^^^