VC++.net中数组赋初始值问题
在VC6中,int a[3] = {1, 2, 3};没有问题,然而在VC++2013中就会报错,是什么问题?
找到方法了:
1. 数组要设置为全局类型,即在类的外部定义;
2. 设置为静态类型。
例如我定义的一个结构数组:
typedef struct tagCHARPRIV { // 锡伯文满文编码数据结构
unsigned int uChar; // 输入编码
unsigned int uStyle; // 变形形式:0 自动 1 独立 2 词首 3 词中 4 词尾
unsigned int uNum; // 对应形式的字符编码数量
WORD wCode[6]; // 字符编码
} CHARPRIV_SM;
static CHARPRIV_SM CharDataS[] = // 锡伯文编码表
{
{ 'a', 1, 1, { 0x1820, 0, 0, 0, 0, 0 } },
{ 'a', 2, 1, { 0x1821, 0, 0, 0, 0, 0 } },
// ....
{ 'I', 1, 1, { 0x182D, 0, 0, 0, 0, 0 } }
};