有人能告诉我如何在C++中实现这个Java吗?
public class MyClass<T extends OtherClass>{
....
}
我已经在C++中测试过这个:
template<class T, class OtherClass>
class MyClass
{
public:
MyClass();
}
但是我得到了错误:invalid use of template-name 'MyClass' without an argument list
问候
发布于 2013-09-24 15:08:21
您可以结合使用std::is_base_of
和static_assert
。
template<class T>
class MyClass
{
static_assert( std::is_base_of< OtherClass, T >::value, "T does not extend OtherClass");
public:
MyClass();
};
(当然,您也可以将OtherClass
作为额外的模板参数,以防止您需要更加灵活)
https://stackoverflow.com/questions/18985288
复制相似问题