我有两个工具:gcc5 和 gcc8。以下是片段代码
bool foo() {
int var;
var = 1;
printf("var=%d\n", var);
}
int calling_foo() {
foo();
}
如果我使用 gcc5 编译并运行,则 foo() 调用会返回。但是,如果我使用 gcc8 编译并运行,则 foo() 调用不会返回。
我理解,foo() 中没有返回值,但至少函数应该返回。我认为 gcc8 要严格得多。但是为什么电话没有返回。