首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

什么原因,该怎么处理

2012-06-03 
什么原因定义全局变量Globle.cpp里#include vectorusing namespace stdtypedef vectorconst u_char *

什么原因
定义全局变量
  Globle.cpp里
#include <vector>
using namespace std;
typedef vector<const u_char *> v;
v myvector;//定义了一个vector变量,用来放抓的包

 Globle.h里
extern v myvector;//定义了一个vector变量,用来放抓的包

总是报错说:
  缺少“;”(在标识符“myvector”的前面)
  缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
  error C2228: “.push_back”的左边必须有类/结构/联合 
我反复检查,都不知道问题错在哪儿
求解

[解决办法]
#include <vector>
typedef vector<const u_char *> v;
放在头文件里
[解决办法]
typedef vector<const u_char *> v;没在h里声明。
[解决办法]
extern v myvector;//此处应该能看到typedef才行,将typedef移动到定义extern的v之前
[解决办法]
实现文件里定义 头文件里申明

热点排行