【发布时间】:2020-08-21 02:21:14
【问题描述】:
void add_element(char *tablenameadd,
char headladd[][16],
float **tableadd,
int hcols,
int trows,
int tcols)
{
...
}
main(int argc, char *argv[])
{
add_element(tname,
headl,
arr1,
hlb,
a,
b);
}
错误:无法将参数 '3' 转换为 'float (*)[b]' 到 'float**' 到 'void add_element'。
我想将未指定或可变的二维数组传递给函数。
arr1 是从一个文件中导入的,在导入之前具有未知数量的列和行,由通常的浮点表数据组成。 a 是行,b 是 arr1 的列。
【问题讨论】:
-
请编辑您的问题,并正确格式化,并显示Minimal, Reproducible Example
-
欢迎来到 Stack Overflow。请阅读the help pages,接受SO tour,阅读How to Ask,以及this question checklist。最后,请学习如何edit您的问题以改进它们,例如通过显示minimal reproducible example。
-
至于一个关于问题的猜测,虽然数组可以衰减到指向其第一个元素的指针,但数组数组将衰减到指向数组的指针(因为第一个元素是数组)不是指向指针的指针。
-
在示例中不足以猜测...因为未定义 tname、head1、arr1、h1b、a 和 b...我从您的文字中假设 b 是问题...但你没有说明它是如何定义的......所以我们无法帮助找到它的问题。
-
arr1 是从具有未知数量的列和行的文件中导入的,直到导入由通常的浮点表数据组成