C++ 将QScript引擎与";“本机函数”;呼叫QT示例。。。失败:“;对';QScriptEngine::newFunction'&引用;?
我正在使用Qtcreator提供的一个示例,并得到这个错误C++ 将QScript引擎与";“本机函数”;呼叫QT示例。。。失败:“;对';QScriptEngine::newFunction'&引用;?,c++,qt,qt-creator,C++,Qt,Qt Creator,我正在使用Qtcreator提供的一个示例,并得到这个错误 void MainWindow::hBtn { QScriptEngine e; QScriptValue fun = e.newFunction(myAdd); // ERROR: No matching function... e.globalObject().setProperty("myAdd", fun); QScriptValue result = e.evaluate("myAdd(m
void MainWindow::hBtn
{
QScriptEngine e;
QScriptValue fun = e.newFunction(myAdd); // ERROR: No matching function...
e.globalObject().setProperty("myAdd", fun);
QScriptValue result = e.evaluate("myAdd(myNumber, 1)");
}
QScriptValue myAdd(QScriptContext *context, QScriptEngine *engine)
//also tried: QScriptValue MainWindow::myAdd(QScriptContext *context, QScriptEngine *engine) //fails as well with same ERROR
{
QScriptValue a = context->argument(0);
QScriptValue b = context->argument(1);
return a.toNumber() + b.toNumber();
}
例如: 向下滚动至“本机函数”
查看了另一个用户的问题,但也没有解决方案:尝试使用
int
作为第二个参数QScriptValue
与int
无关
编辑:好的,刚刚意识到使用QScriptValue
还有另一种可能的组合,但是您可能还需要传递int
并使有趣
成为常量
希望有帮助。用作基础:
我从header类中取出了“myAdd”声明。。。问题已解决。我尝试了另一个示例。。。问题在于engine.newFunction()??我帮不了你。我必须测试一下,但我不能。然而,您是否按照我的建议尝试实现参数组合?