命名空间
Variants
Actions

std::error_code::operator=

来自 cppreference.cn
< cpp‎ | error‎ | error code
 
 
 
 
 
template< class ErrorCodeEnum >
error_code& operator=( ErrorCodeEnum e ) noexcept;
(1) (since C++11)
error_code& operator=( const error_code& other ) = default;
(2) (since C++11)
(implicitly declared)
error_code& operator=( error_code&& other ) = default;
(3) (since C++11)
(implicitly declared)
1) 将错误码和相应的类别替换为表示错误码枚举 e 的值。

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

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

内容

[edit] 参数

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

[edit] 返回值

*this

[edit] 缺陷报告

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

DR 应用于 发布时的行为 正确行为
LWG 3629 C++11 仅使用了 std::make_error_code 重载 使用了 ADL 找到的重载

[edit] 参见

赋值另一个错误码
(public member function) [编辑]