2
我想檢查模板中提供的類型是否具有size_t類型並返回算術類型。對於int,看起來像如何檢查類型是否提供算術類型函數
template <typename U>
struct has<U> {
template <typename T, T>
struct helper;
template <typename T>
static std::uint8_t check(helper<int (*)(size_t), &T::function_name>*);
template <typename T>
static std::uint16_t check(...);
static constexpr bool value = sizeof(check<U>(0)) == sizeof(std::uint8_t);
};
但它對於所有算術類型看起來如何?
如果您確實知道函數名稱,那麼函數沒有重載(如cv限定符,ref限定符,調用約定)是最簡單的。 –