Я создал следующий класс:
class Data
{
private:
cv::Mat image;
int n;
public:
void set(cv::Mat x,int y)
{
this->image = x;
this->n = y;
}
cv::Mat get_image(void){return this->image;}
int get_n(void){return this->n;}
};
Внутри основной функции я создаю объект класса Data, и мне нужно передать его внутри двух функций как указатели void:
Data data;
data.set(img, number, 0);
function_0((void*)&data);
function_1((void*)&data);
Проблема в том, что я не могу правильно изменить значения полей данных объекта. Например, в функции function_0 я делаю что-то вроде этого, но данные объекта не меняются от начального значения.
static void function_0(void* userdata)
{
Data data = *(Data*) userdata;
// something
data.set(img_0, number_0);
}