这段代码在 C++ 中有什么问题

what is the problem of this code in c++

本文关键字:C++ 什么 问题 段代码 代码      更新时间:2023-10-16
template <typename T>
class Foo {
    T tVar;
    public:
    Foo(T t):tVar() {}
};
class FooDerived: public Foo<std::string> {};
FooDerived fd;

这段代码有什么问题?

问题是Foo没有空的C'tor - Foo(void),而FooPeder试图用空的C'tor初始化Foo(因为它是默认值..),所以你会得到一个编译错误,因为编译器不知道如何创建DerivedFoo()