如何指定"所有参数化类型"或者"所有参数列表"对于模板类?

时间:2016-12-08 08:03:31

标签: c++ c++03 dynamic-cast

请原谅我在这方面的无知。我不知道这个概念叫什么,所以我不知道该搜索什么。

我需要dynamic_cast到另一个接口,然后我需要调用一个方法。但是,界面是参数化的,我不知道如何说"所有参数化类型"。那就是我不知道该怎么做(伪代码):

template <class One, class Two>
class Foo : public Bar {...};

class Baz
{
    ...
    // Or Foo<*>& = dynamic_cast<Foo<*>&>(bar);
    Foo& foo = dynamic_cast<Foo&>(bar);
    foo.SomeMethod(...);
};

尝试C-Style演员时出现类似错误。它几乎就像编译不会继续进行,除非我选择一个特化或实例化(???),当我想要做的就是对所有这些执行相同的操作。

真正的代码有点复杂,错误大多是不可理解的。但是产生错误是因为我想调用一个存在于不同接口上的方法,而我并不关心参数是什么。

如何指定&#34;所有参数化类型&#34;或者&#34;所有参数列表&#34;所以我可以使用感兴趣的界面中的方法吗?

以下是Microsoft编译器的错误:

error C2955: 'Foo' : use of class template requires template argument list

0 个答案:

没有答案