繁体   English   中英

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

[英]Error with initializing a 2d wide char array?

我正在尝试使用该代码进行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

那么怎么了?怎么解决这个问题呢?

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

const wchar_t *e[][2] ;

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

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

您声明数组错误的方式...您应该这样做...

const wchar_t* e[][6]而不是const wchar_t* e[6][]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM