【发布时间】:2015-01-19 04:38:01
【问题描述】:
N3797 §13.3.3.1 [over.best.ics] 说:
转换序列是隐式转换,如 第 4 条 [...]
但是,第 4 条定义了以下转换列表:
- 左值到右值的转换
- 数组到指针的转换
- 函数到指针的转换
- 资格转换
- 整体促销
- 浮点推广
- 积分转换
- 浮点转换
- 浮点-积分转换
- 指针转换
- 指向成员转化的指针
- 布尔转换
- 整数转换排名
考虑以下示例:
#include <iostream>
using namespace std;
struct A
{
operator int()
{
return 42;
}
};
A a;
int b = a; //User-defined conversion sequence applied
int main() { }
只要用户定义的转换不属于一组标准转换,就不会在示例中应用任何标准转换。那么我提供的报价是什么意思?
【问题讨论】: