首页 > 解决方案 > C 错误:获取临时数组的地址

问题描述

我将二维字符数组作为复合文字传递给方法,但收到错误:

错误:获取临时数组的地址

这是否与在方法声明中声明变量的方式有关,还是其他原因?

void printConcatLine(char chunks[][20]) { }

printConcatLine((char*[]){ "{", "255", "}" });

标签: carraysmultidimensional-arraycompound-literals

解决方案


“我正在传递一个二维 char 数组”-> 否。代码正在传递一个char *.

传递匹配类型

// printConcatLine((char*[]){ "{", "255", "}" });
printConcatLine((char[][20]){ "{", "255", "}" });

推荐阅读