在AngelScript中使用全局函数
问题描述:
我在使用C++应用程序中的AngelScripts全局函数时遇到了问题。在AngelScript中使用全局函数
在我.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);
在我的。至于我的文件调用该函数是这样的:
multi(1, 2);
所以在这种情况下,我希望x是1,y是2,但是当我用cout打印这些值时,它就像x = 4318096和d y = 4318100.
我无法弄清楚我的错误在哪里。我感谢任何帮助,我可以得到。
答
您注册此功能错误。它应该是:
engine->RegisterGlobalFunction("int multi(int, int)", asFUNCTION(multi), asCALL_CDECL);
Out表示此函数将使用此参数作为输出。
答
它应该是:
engine->RegisterGlobalFunction("int multi(int, int)", asFUNCTION(multi), asCALL_CDECL);
当你使用了它期望你设置的超时值。它在进入函数之前不会被设置。我会按照我提到的那样做,但不会期望它被设置。祝你好运。
非常感谢你,我确信它会是一件简单的事情 – Zydar 2014-10-27 09:32:29