我有一个空*我进入了一个实际上是二维int数组的函数。 我想将它作为参数发送给需要二维数组的函数。 正确施放它的最佳方法是什么?
void foo(void* val){
//How to cast val in order to send to bar??
bar()
}
void bar(int val[2][2]){
//Do something
}
答案 0 :(得分:6)
bar((int(*)[2]) val);
(正如卡尔·诺鲁姆所说,演员阵容实际上并不是必需的;但是如果你不小心将它传递给一个期望的函数,例如int(*)[3]
,它的优势在于给你一个编译器警告。)< / p>