注册 登录
编程论坛 VC++/MFC

VC++.net中数组赋初始值问题

fuyong0227 发布于 2015-08-21 22:17, 2203 次点击
在VC6中,int a[3] = {1, 2, 3};没有问题,然而在VC++2013中就会报错,是什么问题?
2 回复
#2
fuyong02272015-08-23 16:16
找到方法了:
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 } }
};
#3
农民工2015-08-24 08:46
你说的不对,2013中用得好好的。
还有你2楼的2个限制也没必要
1