我在 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。
我想不出我的错误在哪里。我很感激我能得到的任何帮助。
最佳答案
你这个函数注册错了。应该是:
engine->RegisterGlobalFunction("int multi(int, int)", asFUNCTION(multi), asCALL_CDECL);
Out 表示此函数将使用此参数作为输出。
关于c++ - 在 AngelScript 中使用全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26583902/