c - 初始化二维宽字符数组时出错?

标签 c arrays

我正在尝试使用该代码进行二维 wchar_t 数组初始化:

const wchar_t* e[6][]={
    { L"ç", L"$^^" },
    { L"ç"},
    { L"ç", L"$^^" },
    { L"ç", L"$^^" },
    { L"ç", L"$^^" },
    { L"ç", L"$^^" }
};

但是我在编译的时候遇到了一个错误:

array type has incomplete element type

那么问题出在哪里以及如何解决该问题?

最佳答案

声明数组时唯一可选的长度是第一个,所以在你的情况下你需要指定第二个:

const wchar_t *e[][2] ;

此外请注意,第二个位置的数组末尾填充了 NULL 值:

{L"ç"} 
// is in fact
{L"ç", NULL}

关于c - 初始化二维宽字符数组时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23631254/

相关文章:

c - 文件存在时 fopen 失败

c - 指针地址内存属于RAM还是Hard Drive?

c - 运行 mkfifo 的程序不起作用

php - 如何有效地生成给定长度字母的所有可能字母组合的数组?

c - 在 x86 中恢复堆栈帧

c - 在C中打印字符串的地址是否有效

javascript - 如何迭代对象数组并按键名对属性值进行分组?

php - 使数组与其他数组长度相同?

arrays - 关于编写程序集调用数组上的函数的 MIPS 问题

php - 用 boolean 值(PHP)评估数组的最短方法?