在一次工作面试中,我被要求编写一个元函数来确定一个类型是否是一个指针。这是我介绍的:
template <typename T>
struct is_pointer
{ static const bool value = false; }
template <typename T>
struct is_pointer<T *>
{ static const bool value = true; }
然后我被要求编写一个元断言,如果我的is_pointer
函数没有做正确的事情,它将在编译期间失败。
当我使用static_assert
时,他明确告诉我,我可能只使用 C++98 标准。我怎样才能做到这一点?