|
|
|
|
Member functions | ||||
system_error::operator= | ||||
system_error& operator=(const system_error& other)noexcept; | (since C++11) | |
Assigns the contents with those ofother. If*this andother both have dynamic typestd::system_error
thenstd::strcmp(what(), other.what())==0 after assignment.
other | - | anothersystem_error object to assign with |
*this
#include <cassert>#include <cstring>#include <iostream>#include <system_error> void print(conststd::system_error& e){std::cout<<"code: ["<< e.code()<<"]\n""message: ["<< e.code().message()<<"]\n""what: ["<< e.what()<<"]\n\n";} int main(){std::system_error e1(EDOM,std::generic_category(),"Error info #1"); print(e1); std::system_error e2(EIO,std::system_category(),"Error info #2"); print(e2); e1= e2;assert(std::strcmp(e1.what(), e2.what())==0); print(e1);}
Possible output:
code: [generic:33]message: [Numerical argument out of domain]what: [Error info #1: Numerical argument out of domain] code: [system:5]message: [Input/output error]what: [Error info #2: Input/output error] code: [system:5]message: [Input/output error]what: [Error info #2: Input/output error]