-3
datatype *x;//where datatype is a class defined earlier;
//...

if (isDataType(x[0]))//test whether x[0] belong to datatype defined.

//do something

是否有任何 C++ 函数可以完成上述工作?

4

2 回答 2

6

使用std::is_same

#include <type_traits>

if ( std::is_same<datatype, decltype(x[0])>::value ) {

}
于 2013-01-08T01:44:00.240 回答
1
bool isDataType(const datatype&) { return true; }

template<typename T> bool isDataType(const T&) { return false; }

可能不是你真正想要的...

于 2013-01-08T02:14:48.310 回答