c - 预期表达式错误为 `[]`

标签 c arrays function-calls

我的函数原型(prototype)

int ConvertUserColorToInteger(char [][7] , char [] );

int main (void)
{

这是我对函数的定义

      char COLOR_CODES[10][7] = {"black", "brown", "red", "orange", "yellow",   "green", "blue", "violet", "gray", "white"};
       char userColor1[10];
       char userColor2[10];
       char userColor3[10];

这是我对函数的调用,这也是我遇到错误的事情

     ConvertUserColorToInteger(COLOR_CODES[][7], userColor[]);

最佳答案

您以错误的方式调用该函数。在你的情况下,你应该写

 ConvertUserColorToInteger(COLOR_CODES, userColor1);

而不是

 ConvertUserColorToInteger(COLOR_CODES[][7], userColor[]);

因为在进行调用时,您需要分别传递指向 char[7]char 类型数组的指针。

关于c - 预期表达式错误为 `[]`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34884459/

相关文章:

c - 在 DOS 中为 "Daylight Savings Time"

c - 如何在 Windows 上编译 C 完美最小哈希库?

java - 数组如何传递给函数?

c++ - 两个数组,整数和字符串,如何显示带有相应整数的字符串?

Javascript 函数调用具有可选属性

c - 编译器(通过链接时优化)如何处理快速返回的函数(提前退出路径)?

c - 了解堆栈分配的对象释放

c - 如何检查两个大小相等的数组在 C 中是否具有相同的值? (复杂度 O(n) )

python - "introspect"函数内的预期返回量

c - 试图用数组中的 scanf 读取整数