读书人

什么原因,该怎么处理

发布时间: 2012-06-03 16:59:40 作者: rapoo

什么原因
定义全局变量
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之前
[解决办法]
实现文件里定义 头文件里申明

读书人网 >C++

热点推荐