【发布时间】:2011-12-08 18:41:02
【问题描述】:
我早些时候发布了一个问题here,如果有人可以帮助我解决以下问题,我想我可以回答:
我有一个函数
double func(void* data)
我想传入一个对象或结构。 (在我的例子中是一个犰狳矩阵,甚至只是和 std::vector)。
如何将指向对象的指针作为参数传递给 func(),然后,一旦进入 func(),如何将 void 指针重新转换为其原始类型?
编辑:这是最终的工作,其中 mat 是犰狳矩阵类:
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 现在包含相同的数据。
【问题讨论】:
标签: void-pointers