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