更新时间:2022-05-02 05:09:09
Welloperator<<
定义为返回std::ostream&
:
std::ostream& operator<<(std::ostream& output, const ComplexNumber& z)
^^^^^^^^^^^^^
但是您没有返回语句,这是undefined behavior,这意味着您不能依赖程序的行为,结果是不可预测的。看起来您应该:
return output ;
在函数的末尾。我们可以从C++标准草案6.6.3
返回语句第2段中看到这是未定义的行为:
[.]从函数末尾流出等同于没有值的返回;这会导致值返回函数中的未定义行为。[.]