【发布时间】:2011-07-16 19:00:54
【问题描述】:
根据这个网站,我应该可以使用以下代码:
double stuff[3][3];
double **p_stuff;
p_stuff = stuff;
但我收到投诉称分配不允许转换。
我做错了吗?
我有一个 extern "C" 类型的函数,我想将这个 double stuff[3][3] 传递给它。所以我想我需要让它成为一个指针,对吧?
【问题讨论】:
-
不,注释是错误的。
double[3][3]不能衰减到double**(它会衰减到(double*)[3])。 -
在双 **p_stuff 之后尝试 p_stuff = new double *stuff[3]
-
这个 C 函数的签名是什么?
-
已编辑问题以反映我的意图。将这双重内容[3][3] 转换为 C 函数。
-
我也在写 C 函数……所以我可以随心所欲地制作签名。现在我把它当作 (....., double **p_stuff, ...)