Estoy tratando de usar la secuencia de comandos en la Qt, aquí hay un código muy simple.La secuencia de comandos en Qt no devuelve el valor correcto
QCoreApplication a(argc, argv);
double x;
cout<<"Please enter a number: ";
cin>>x;
QFile file("cube.js");
if(!file.open(QIODevice::ReadOnly))
abort();
QTextStream in(&file);
in.setCodec("UTF-8");
QString script=in.readAll();
file.close();
QScriptEngine interpreter;
QScriptValue operand(&interpreter,x);
interpreter.globalObject().setProperty("x",operand);
QScriptValue result=interpreter.evaluate(script);
cout<<"The result is "<<result.data().toInt32()<<endl;
return a.exec();
El contenido de los cube.js es sólo una línea:
return x*x*x;
corro este programa, pero siempre devuelve el cero. ¿Podría alguien decirme qué tiene de malo? El contenido del archivo es correcto leer.
Best Regards,
... o aún mejor: result.toNumber(). – hmuelner