函数采用一种显式类型

Function that takes one explicit type

本文关键字:一种 类型 函数      更新时间:2023-10-16

我如何制作一个函数,例如size_t但不接受int或任何其他隐式可转换类型?

使用过载:

template <typename T> void foo(T) = delete;
void foo(std::size_t t) {
    // ...    
}
#include <type_traits>
#include <cstddef>
template <typename..., typename T, std::enable_if_t<std::is_same_v<T, std::size_t>>*...>
void f(T x) {}