这是否是确保隐式类型转换不会发生的合法方法?
#include <string>
#include <iostream>
void func(std::string s)
{
std::cout << "Thanks for the string\n";
}
template<class T>
void func(T)=delete;
int main()
{
func("test1");
// str.cc: In function ‘int main()’:
// str.cc:13:16: error: use of deleted function ‘void func(T) [with T = const char*]’
// func("test1");
// ^
// str.cc:9:6: error: declared here
// void func(T)=delete;
// ^
//
func(std::string("test2"));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在我看来很好.
答案也是如此.
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |