我认为这在 C++ 中是不可能的,我必须有哪些选项来模拟这种行为?
问问题
895 次
3 回答
11
用作std::is_base_of
:
template<typename T>
class A
{
static_assert(std::is_base_of<IMyInterface, T>::value,
"T must derive from IMyInterface");
};
您也可以在功能模板中进行相同的操作。
于 2012-12-06T18:29:33.733 回答
6
您可以使用std::is_base_of<YourInterface, YourParameter>
,如果结果为 ,则会出错false
。请记住这是 C++11。
于 2012-12-06T18:29:55.007 回答
3
一些多态接口还是一些静态接口?后者可以通过Boost Concepts检查。
于 2012-12-06T18:30:51.327 回答