调用返回类型的函数时出现非法指令错误

时间:2014-04-02 22:51:24

标签: c++

我有一个带返回类型的空函数,比如说

int g() {}

当我拨打g时,我收到了非法指令错误。如果我将功能更改为

void f() {}
一切都很好。

这种奇怪行为可能是什么原因?代码如下所示:

WindowID w = e.createWindow(800, 800);
w.f();
w.g();

其中createWindow()创建一个新线程。它可能是线程的东西吗?我更改了g()的名称和返回类型,但我总是得到一个非法指令。这对我来说似乎是一个奇怪的错误,它必须是非常简单的事情。但是什么?

1 个答案:

答案 0 :(得分:3)

如果我理解你的问题,那绝对不是一种奇怪的行为。

如果您说函数的返回类型为int,则必须在该函数的所有情况下返回一个整数。如果返回类型为void,则只能创建一个空函数。