- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
是否可以将类定义之外的从一种类型到另一种类型的转换运算符定义为非成员函数?我知道其他运算符(如 operator-)是可能的,但强制转换运算符是不可能的。例如,对于两个类 A 和 B,我尝试在 A 和 B 范围之外定义转换运算符,如下所示:
operator A(const B& b)
{
A a(....);
return a;
}
最佳答案
不可以,转换函数必须是成员函数。
来自 C++11,[class.conv.fct]/1:
A member function of a class
X
having no parameters with a name of the form [operator
conversion-type-id] specifies a conversion fromX
to the type specified by the conversion-type-id. Such functions are called conversion functions.
没有其他转换函数,特别是没有非成员转换函数。
关于c++ - 转换函数可以是非成员函数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26994485/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我已更改 my.cnf。并检查sql_mode使用下面的命令 select @@global.sql_mode; 它说, 我也尝试过 set global sql_mode=''; SET sql_m
首先,我有一个结构,它有一个值和一个默认值 struct S { int a = 1; }; 当 gcc 和 clang 都是 non-const/non-constexpr 时,可以默认构造
我是一名优秀的程序员,十分优秀!