Я разместил вопрос здесь ранее, на который я думаю, что смогу ответить, если кто-то может помочь мне со следующим:
У меня есть функция
double func(void* data)
Я хочу передать объект или структуру. (В моем случае матрица броненосца или даже просто и std :: vector).
Как передать указатель на объект в качестве аргумента функции func (), а затем, как только внутри func (), как преобразовать указатель void в исходный тип?
Редактировать : Вот что сработало, где mat - это матричный класс Armadillo:
mat A(2,2);
A << 1 << 2 << endr << 3 << 4; // A=[1,2; 3,4]
func(&A);
и в функах:
double func(void* data) {
mat* pB = (mat*)(data);
mat B = pB[0];
}
Матрица B и A теперь содержат одинаковые данные.