初始化2d宽字符数组时出错?

时间:2014-05-13 12:26:41

标签: c arrays

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

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

但编译时遇到错误:

array type has incomplete element type

那有什么问题以及如何解决这个问题呢?

2 个答案:

答案 0 :(得分:3)

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

const wchar_t *e[][2] ;

此外,请注意第二个位置的数组最后填充NULL值:

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

答案 1 :(得分:1)

你声明数组的方式是错误的...... 你应该做......

const wchar_t* e[][6]代替const wchar_t* e[6][]