首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AngelScript中使用全局函数

在AngelScript中使用全局函数
EN

Stack Overflow用户
提问于 2014-10-27 08:51:12
回答 2查看 176关注 0票数 0

在C++应用程序中使用AngelScripts全局函数有一个问题.

在我的.cpp文件中,我有一个函数:

代码语言:javascript
复制
int multi(int x, int y)
{
    int z = x * y;
    cout << x << endl;
    cout << y << endl;
    return z;
}

我通过以下方式注册它:

代码语言:javascript
复制
engine->RegisterGlobalFunction("int multi(int &out, int &out)", asFUNCTION(multi), asCALL_CDECL);

在我的.as文件中,我调用如下函数:

代码语言:javascript
复制
multi(1, 2);

所以在这个例子中,我希望x是1,y是2,但是当我用cout打印值时,它类似于x= 4318096和y= 4318100。

我不知道我的错误在哪里。我很感激我能得到的任何帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-27 09:01:52

您注册这个函数错误。它应该是:

代码语言:javascript
复制
engine->RegisterGlobalFunction("int multi(int, int)", asFUNCTION(multi), asCALL_CDECL);

Out意味着此函数将使用此参数作为输出。

票数 1
EN

Stack Overflow用户

发布于 2015-06-12 00:21:56

它应该是:

代码语言:javascript
复制
engine->RegisterGlobalFunction("int multi(int, int)", asFUNCTION(multi), asCALL_CDECL);

当您使用out时,它希望您设置out值。它在进入函数之前不会被设定。我希望你这么做,就像我说的,它将被设定,而不期望它被设定。祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26583902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档