请原谅我在这方面的无知。我不知道这个概念叫什么,所以我不知道该搜索什么。
我需要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