我有这样的东西......
void f(dclass b);
class dclass
{
dclass(string s);
};
f("s");
这似乎行不通。原则上,它可以进行双重转换:char* -> string -> dclass
所以C++中没有这样的东西。或者也许某些编译器支持它...您知道一种可能实现它的语言吗?
最佳答案
它可以,但这在有重载的语言中不会真正起作用。您将 O(N) 重载决策转换为 O(N*M) 重载决策。通常,重载被认为是比多个用户定义的转换更有值(value)的语言特性。
关于c++ - 双重转换会解决它,但 C++ 中没有这样的事情,对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9018017/