Здравствуйте!
В QtScript делаю операцию над двумя объектами:
Чтобы этот оперетор (&&) работал - нужно перегрузить его.
Для этого скрипта прикрепляю объект pMyAlarmObj:
//Bind this class to script engine.
QScriptValue my_alarm_obj_val = m_pScriptEngine->newQObject(pMyAlarmObj);
m_pScriptEngine->globalObject().setProperty("AlarmScript", my_alarm_obj_val);
Далее для обработки оператора
&& создаю public слот в pMyAlarmObj:
//Override of operator +. Using to make '&&' between 'SensorAlarm'.
bool AlarmScript::operator&&(const SensorAlarm & left, const SensorAlarm & right)
{
return TRUE;
}
Компилятор выводит ошибку:
error: 'bool AlarmScript::operator&&(const SensorAlarm&, const SensorAlarm&)' must take exactly one argumentТо есть компилятор думает, что я хочу переопределить оператор && для класса 'AlarmScript' а не для скрипта. И требует, чтобы в параметрах был только один аргумент. А мне же нужно перехватить
&& и обработать объекты так, чтобы аргументы были
const и не были изменены.
Подскажите, пожалуйста, как все же переопределить &&.