就職の面接で、型がポインタかどうかを判断するメタ関数を書くように言われました。これは私が提示したものです:
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 標準のみを使用してもよいと明示的に言いました。どうすればこれを達成できますか?