c++ - 传递任意大小的二维数组的函数签名应该是什么样的?
问题描述
我有一个函数,我想接受任意大小的二维数组。
因此,如果我有以下内容:
char names[100][10];
char values[100][5];
我的函数签名应该是什么样的?
我试过了:
void myFunc(char* names[], char* values[]);
和
void myFunc(char** names, char** values);
但后来我得到argument of type "char(*)[10]" is incompatible with parameter of type "char**".
我试过了:
void myFunc(char names[][], char values[][]);
但后来我得到an array may not have elements of this type.
唯一有效的是
void myFunc(char names[100][10], char values[100][5]);
但它不是任意大小。我知道我还需要传递一个大小参数,但我什至还做不到。