§12.3.2[class.conv.fct] / 1在C++ 14中:
§12.3.2C++ 1z中的[class.conv.fct] / 1 :(相关更改在下面突出显示)
我想不出没有decl-specifier-seq或没有定义类型说明符的decl-specifier-seq转换函数。据我了解,这意味着一个转换功能ID,其转换类型ID没有类型!
最佳答案
转换类型ID不包含decl-specifier-seq;它包含一个类型说明符序列。
该引用与转换函数的声明/定义中的decl-specifier-seq有关:
struct C {
constexpr inline explicit operator int() const { return 0; }
// ^^^^^^^^^^^^^^^^^^^^^^^^^
operator float() const;
// ^ no decl-specifier-seq here
};
由于明显的原因,它不能包含定义类型说明符。
更改的重点是,当返回类型由conversion-type-id确定时,说“无法指定返回类型”是一种误导。