datatype *x;//where datatype is a class defined earlier;
//...
if (isDataType(x[0]))//test whether x[0] belong to datatype defined.
//do something
上記のような仕事をすることができるC++関数はありますか?
使用std::is_same
:
#include <type_traits>
if ( std::is_same<datatype, decltype(x[0])>::value ) {
}
bool isDataType(const datatype&) { return true; }
template<typename T> bool isDataType(const T&) { return false; }
おそらくあなたが本当に欲しいものではないでしょう...