这可能是一个很荒谬的问题,但我今天在C++中编写了一个成员函数,它应该返回一个整数,但并不总是如此。我甚至写了一个非常简单的函数,没有返回值...
int derp()
{
if (11 == 22) return 0;
}
这是最近的变化吗?还是我的编译器坏了?哈哈
编辑:这确实可以编译
这可能是一个很荒谬的问题,但我今天在C++中编写了一个成员函数,它应该返回一个整数,但并不总是如此。我甚至写了一个非常简单的函数,没有返回值...
int derp()
{
if (11 == 22) return 0;
}
这是最近的变化吗?还是我的编译器坏了?哈哈
编辑:这确实可以编译
eax
寄存器所持有的值,这个值将取决于编译器在函数中如何选择使用它。因此,它的值/行为可能会因编译器而异,并随着编译设置的变化而不同,即未定义。至于您的代码,根据您如何使用此函数的返回值,编译器优化器可能会剥离并忽略它,因此您不会收到任何警告。 - James