我有一个带返回类型的空函数,比如说
int g() {}
当我拨打g时,我收到了非法指令错误。如果我将功能更改为
void f() {}
一切都很好。
这种奇怪行为可能是什么原因?代码如下所示:
WindowID w = e.createWindow(800, 800);
w.f();
w.g();
其中createWindow()创建一个新线程。它可能是线程的东西吗?我更改了g()的名称和返回类型,但我总是得到一个非法指令。这对我来说似乎是一个奇怪的错误,它必须是非常简单的事情。但是什么?
答案 0 :(得分:3)
如果我理解你的问题,那绝对不是一种奇怪的行为。
如果您说函数的返回类型为int,则必须在该函数的所有情况下返回一个整数。如果返回类型为void,则只能创建一个空函数。