PAWN Language Array不支持索引跳转?

PAWN Language Array has not supported index jump?

三行描述。

  1. 制作数组
  2. 尝试为空数据索引跳转 [index(enum) + 1]
  3. 编译输出警告!!!但效果不错 -_-;;;

这是典当语言的正确表达方式吗?

~~~~.pwn(46) : warning 213: tag mismatch
Header size:           3720 bytes
Code size:            67016 bytes
Data size:         192587988 bytes
Stack/heap size:      16384 bytes; estimated max. usage=1309 cells (5236 bytes)
Total requirements:192675108 bytes

假设此代码遵循以下内容。

enum E_SOMETHINGS
{
 VAR_1,
 VAR_2,
 VAR_3,
 VAR_4
}
new VARIABLE[MAX_PLAYERS][E_SOMETHINGS];

enum MODEL_DATA
{
 MODEL_ID,
 NAME[DWORD]
};

new const ITEM_LIST[][MODEL_DATA] = 
{
 {0, "blah blah"},
 {1, "blah blah"},
 {2, "blah blah"},
 {3, "blah blah"}
};


function(){
 for (new i = 0; i < sizeof(ITEM_LIST); i++)
 {
   if (VARIABLE[playerid][i + VAR_1] <= 0)
     continue;

    printf("%i %s", ITEM_LIST[i][MODELID], ITEM_LIST[i][NAME]);
 }
}
                

结果

  1. 输出警告 213:标签不匹配
  2. 编译完成
  3. 工作正常。但我认为这种方式是错误的。
~~~~.pwn(46) : warning 213: tag mismatch *IMPORTANT*
Header size:           3720 bytes
Code size:            67016 bytes
Data size:         192587988 bytes
Stack/heap size:      16384 bytes; estimated max. usage=1309 cells (5236 bytes)
Total requirements:192675108 bytes

咨询

在前面添加 _: 进行枚举。

ex ) 枚举 _:E_SOMETHINGS { VAR_1, VAR_2, VAR_3, VAR_4 }


三行描述。

  1. 制作数组
  2. 尝试为空数据索引跳转 [index(enum) + 1]
  3. 编译输出警告!!!但效果不错 -_-;;;

这是典当语言的正确表达方式吗?

~~~~.pwn(46) : warning 213: tag mismatch
Header size:           3720 bytes
Code size:            67016 bytes
Data size:         192587988 bytes
Stack/heap size:      16384 bytes; estimated max. usage=1309 cells (5236 bytes)
Total requirements:192675108 bytes

假设此代码遵循以下内容。

enum E_SOMETHINGS
{
 VAR_1,
 VAR_2,
 VAR_3,
 VAR_4
}
new VARIABLE[MAX_PLAYERS][E_SOMETHINGS];

enum MODEL_DATA
{
 MODEL_ID,
 NAME[DWORD]
};

new const ITEM_LIST[][MODEL_DATA] = 
{
 {0, "blah blah"},
 {1, "blah blah"},
 {2, "blah blah"},
 {3, "blah blah"}
};


function(){
 for (new i = 0; i < sizeof(ITEM_LIST); i++)
 {
   if (VARIABLE[playerid][i + VAR_1] <= 0)
     continue;

    printf("%i %s", ITEM_LIST[i][MODELID], ITEM_LIST[i][NAME]);
 }
}
                

结果

  1. 输出警告 213:标签不匹配
  2. 编译完成
  3. 工作正常。但我认为这种方式是错误的。
~~~~.pwn(46) : warning 213: tag mismatch *IMPORTANT*
Header size:           3720 bytes
Code size:            67016 bytes
Data size:         192587988 bytes
Stack/heap size:      16384 bytes; estimated max. usage=1309 cells (5236 bytes)
Total requirements:192675108 bytes