• 3004阅读
  • 1回复

= =||| 又是莫名其妙问题系列 数组无法声明 [复制链接]

上一主题 下一主题
离线356458089
 
只看楼主 倒序阅读 楼主  发表于: 2013-05-03
刚把二进制读写到qbitarray搞定..然后有蹦出来莫名其妙的问题
声明了一个头文件,就这么几句话
  1. #include "mainwindow.h"
  2. quint8 code_team_rote_list[13];
  3. code_team_rote_list[0] = code_team_role_Lloyd;
  4. code_team_rote_list[1] = code_team_role_Elie;
  5. code_team_rote_list[2] = code_team_role_Tio;
  6. code_team_rote_list[3] = code_team_role_Randy;
  7. code_team_rote_list[4] = code_team_role_Lazy;
  8. code_team_rote_list[5] = code_team_role_Rixia;
  9. code_team_rote_list[6] = code_team_role_Zeit;
  10. code_team_rote_list[7] = code_team_role_Arios;
  11. code_team_rote_list[8] = code_team_role_Noel;
  12. code_team_rote_list[9] = code_team_role_Dudley;
  13. code_team_rote_list[10] = code_team_role_Garcia;
  14. code_team_rote_list[11] = code_team_role_nobody;
  15. code_team_rote_list[12] = 0x0b;


报错提示error: 'code_team_rote_list' does not name a type
我刚声明的数组,然后赋值进去,就错误,语法上应该没有错误吧...
google搜提到了先后顺序问题,可是我声明个数组,而且还没有任何位置调用了它,为什么还报错呢...
这段代码和赋值放到main函数里或者任何一个MainWindow的类的成员函数里都不会有任何问题,为什么我放在头文件里声明就会出错呢= =...
就算不用变量赋值,直接写结果,照样还是报错= =...
难道必须用quint32 a[] = {x,x,x,x,x};的形式来声明并且赋值么?
  1. quint8 code_team_rote_list[13] =
  2. {
  3.     code_team_role_Lloyd,
  4.     code_team_role_Elie,
  5.     code_team_role_Tio,
  6.     code_team_role_Randy,
  7.     code_team_role_Lazy,
  8.     code_team_role_Rixia,
  9.     code_team_role_Zeit,
  10.     code_team_role_Arios,
  11.     code_team_role_Noel,
  12.     code_team_role_Dudley,
  13.     code_team_role_Garcia,
  14.     code_team_role_nobody,
  15.     0x0b
  16. };

这样的形式来声明就没问题...头文件里不可以用之前的方法赋值么- -..很少在头文件里声明数组,= =...求解
离线dbzhang800

只看该作者 1楼 发表于: 2013-05-03
建议加强一下C、C++的基础学习。


---------
题外:除了 类定义、模板定义、const常量定义 外,不要在头文件内放置任何定义!
快速回复
限100 字节
 
上一个 下一个