0

C++ アプリケーション内で AngelScripts グローバル関数を使用する際に問題があります。

私の .cpp ファイルには、次の関数があります。

int multi(int x, int y)
{
    int z = x * y;
    cout << x << endl;
    cout << y << endl;
    return z;
}

私はそれを使用して登録しています:

engine->RegisterGlobalFunction("int multi(int &out, int &out)", asFUNCTION(multi), asCALL_CDECL);

私の .as ファイルでは、次のように関数を呼び出します。

multi(1, 2);

したがって、この場合、x を 1、y を 2 にしたいのですが、cout で値を出力すると、x = 4318096 と y = 4318100 のようになります。

自分のミスがどこにあるのかわかりません。私が得ることができる助けに感謝します。

4

2 に答える 2

1

この関数を間違って登録します。そのはず:

engine->RegisterGlobalFunction("int multi(int, int)", asFUNCTION(multi), asCALL_CDECL);

Out は、この関数がこのパラメーターを出力として使用することを意味します。

于 2014-10-27T09:01:52.057 に答える