我能为C++中的模板类编写接口吗?

我能为C++中的模板类编写接口吗?,c++,g++,polymorphism,C++,G++,Polymorphism,我有一个接口和一个存储序列化对象的类的两个实现。我想将实现类转换成模板类,这样我就可以将它们用于多种类型的对象,但是我遇到了编译器错误 #include <iostream> template<typename T> class Interface{ public: virtual void func(T& c) = 0; }; class Container{ public: Container() : dummy(10){} int

我有一个接口和一个存储序列化对象的类的两个实现。我想将实现类转换成模板类,这样我就可以将它们用于多种类型的对象,但是我遇到了编译器错误

#include <iostream>
template<typename T>
class Interface{
public:
    virtual void func(T& c) = 0;
};

class Container{
public:
    Container() : dummy(10){}
    int dummy;
};


template<typename T>
class Implementation : public Interface{
public:
    void func(T& c){
        std::cout << "++c.dummy " << ++c.dummy << std::endl;
    }
};

int main(){
    Container c;
    Implementation<Container> i;
    i.func(c);
    return 0;
}
我得到错误:在类实现…行的“{”标记之前应该有类名


谢谢。

你的^^^^有点不对齐。我认为。@strager:在Console上看起来不错。它应该直接在后面。@strager:只要^^^^^指向后面的接口,它就对齐了。啊;我的Opera缩放比例为150%,这是由于某种原因导致的不对齐。100%很好。奇怪……你的^^^^^有点不对齐。我想想看。@strager:在Console上看起来不错。它应该在后面的正下方。@strager:只要^^^^^指向后面的接口,它就正确对齐了。啊;我的Opera缩放了150%,这是因为某些原因导致了不对齐。在100%时很好。奇怪……可能是因为像这样的评论在这个网站不受欢迎。可能是因为co像这样的消息在这个网站上是不受欢迎的。
template<typename T>
class Implementation : public Interface<T> {
//                                     ^^^