void f(int x) {}
void f(long x) = delete;
int main()
{
f(1);
//f(1l);//明确禁止了对接受 long 参数的函数 f 的调用(否则编译错误),即:避免函数被传入long
}
|
|
|
|
再进行扩展:
|
|
|
|
V
template<typename T>
void f(T x) = delete;
template<>
void f(int x) {}
int main()
{
f(2);
f(2l);//
f(2ll);//
f('q');//函数f只能传int,其他的均不可。
}