使用std :: is_base_of,std :: is_arithmetic等工具,我们有办法在运行时检查函数是否可用于某个类型吗?
e.g。
template<typename T>
void function( T arg )
{
static_assert(std::has_function<T, "DoSomething">::value, "Type must have function DoSomething!");
arg.DoSomething();
}
或者沿着这些方向做什么?