Namespaces
Variants

std::error_code::operator=

来自 zh.cppreference.net
 
 
 
 
 
template< class ErrorCodeEnum >
error_code& operator=( ErrorCodeEnum e ) noexcept;
(1) (从 C++11 开始)
error_code& operator=( const error_code& other ) = default;
(2) (从 C++11 开始)
(隐式声明)
error_code& operator=( error_code&& other ) = default;
(3) (从 C++11 开始)
(隐式声明)
1) 将错误码及对应的类别替换为表示错误码枚举 e 的那些内容。

等价于 *this = make_error_code(e),其中 make_error_code 只能通过 实参依赖查找找到。

此重载仅当 std::is_error_code_enum<ErrorCodeEnum>::value 为 true 时才参与重载决议。
2,3) 隐式定义的复制赋值运算符和移动赋值运算符将 other 的内容赋给 *this。

参数

e - 用于构造的错误代码枚举
other - 用于赋值的另一个错误代码

返回值

* this

缺陷报告

下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。

问题报告 应用于 发布时的行为 正确行为
LWG 3629 C++11 仅使用了 std::make_error_code 重载 使用ADL查找的重载

参见

分配另一个错误代码
(公开成员函数)