Я хочу отслеживать глобальную переменную, которую я передаю в функцию API. Я обнаружил, что это можно сделать с помощью класса:
template <class T>
class MonitoredVariable
{
public:
MonitoredVariable() {}
MonitoredVariable(const T& value) : m_value(value) {}
//T operator T() const { return m_value; }
const MonitoredVariable& operator = (const T& value)
{
PlugIn::gResultOut << "value changed " << std::endl;
m_value = value;
return *this;
}
private:
T m_value;
};
Функция API принимает переменные как
bool APIFunction(double time, bool *is_done, double *fraction_done);
Следующее дает мне ошибку:
ImagePtr Im;
bool is_done;
MonitoredVariable<double*> fraction_done;
bool frameready = Im->APIFunction(2.1, is_done, fraction_done);
ERROR:
error C2664: cannot convert argument 3 from 'MonitoredVariable<double *>' to 'double *'
что я должен изменить здесь? ТНХ!