C++ C++;意外数字输出

C++ C++;意外数字输出,c++,class,output,C++,Class,Output,编辑:由于下面的建议,修复了该问题。将evaluation()的返回类型从int更改为void 我正在学习如何使用课堂,我遇到了一个问题。我得到的结果是: 0 They are not equal. 4469696 最后一个号码是从哪里来的?应该在以后的某个地方 线路 std::cout在evaluation()。然后,尽管该函数被声明为返回int,但您不会从该函数返回任何内容,也就是说,您会得到未定义的行为。此外,由于您输出了调用的结果,因此您实际上指向了随机结果: std::cout &l

编辑:由于下面的建议,修复了该问题。将evaluation()的返回类型从int更改为void

我正在学习如何使用课堂,我遇到了一个问题。我得到的结果是:

0
They are not equal.
4469696
最后一个号码是从哪里来的?应该在以后的某个地方 线路

std::cout在
evaluation()。然后,尽管该函数被声明为返回
int
,但您不会从该函数返回任何内容,也就是说,您会得到未定义的行为。此外,由于您输出了调用的结果,因此您实际上指向了随机结果:

std::cout << Thing.evaluation(Thing.getValue()) << std::endl;
std::cout在
evaluation()。然后,尽管该函数被声明为返回
int
,但您不会从该函数返回任何内容,也就是说,您会得到未定义的行为。此外,由于您输出了调用的结果,因此您实际上指向了随机结果:

std::cout << Thing.evaluation(Thing.getValue()) << std::endl;

std::cout
classTest::evaluation()
从不分配返回值,如果您的编译器警告远程配置良好,它会通知您(很可能是)。提高警告级别。
equivalency()
也有同样的问题。
classTest::evaluation()
从不分配返回值,如果你的编译器警告远程配置得很好,它会通知你(很可能是这样)。提高你的警告级别。
equivalency()
也有同样的问题。请告诉我+1获取关于使用std::endl的额外建议(我不知道这一点,我承认过度使用了它)。我将evaluation()的返回类型从int改为void。它解决了这个问题。谢谢你的建议!从现在起,我一定要使用std::flush和“\n”。@BrandonHoutzer:这不是你问题的解决方案。如果evaluation()输出信息且未返回值,则首先不应输出函数的结果。我很惊讶它甚至可以输出一个void函数的返回值。@Alexandre P.Levasseur:它什么都不返回。它打印到命令提示符。@BrandonHoutzer:Alexandre的意思是:
std::cout best me to It+1获取关于使用std::endl的额外建议(我不知道这一点,我承认过度使用了它)。我将evaluation()的返回类型从int改为void。它解决了这个问题。谢谢你的建议!从现在起,我一定要使用std::flush和“\n”。@BrandonHoutzer:这不是你问题的解决方案。如果evaluation()输出信息且未返回值,则首先不应输出函数的结果。我很惊讶它甚至可以输出一个void函数的返回值。@Alexandre P.Levasseur:它什么都不返回。它打印到命令提示符。@BrandonHoutzer:Alexandre的意思是:
std::cout
std::cout << Thing.evaluation(Thing.getValue()) << std::endl;