调用模板化的基类方法编译失败

我试图通过派生类调用模板化的基类方法。 这是我的代码

struct base
{
    template<typename t>
    void baseMethod(t s)
    {
        std::cout << s;
    }
};


struct der : public base
{
};


int main()
{
  der d;
  d.<int>(baseMethod(12));
}

编译失败并指出

main.cpp:在函数'int main()'中:main.cpp:25:5:error:expected'unqualified-id before'<'token d。(baseMethod(12)); ^ main.cpp:25:6:error:expected'primary'前面'int'd。(baseMethod(12));

有关我如何修复它的任何建议?


尽管这个questuion与继承无关,但正确的语法是

d.baseMethod<int>(12);

但是,即使这是不需要的,由于模板扣除:简单

d.baseMethod(12);

会工作。

链接地址: http://www.djcxy.com/p/59565.html

上一篇: Calling a templated base class method compile fails

下一篇: Unresolved reference when using inheritance