我在导入结构体时使用如下方法: extern struct Step { int IType; // 记录绘图的类型 int ISDx; // 左上角x轴坐标 int ISDy; // 左上角y轴坐标 int ISUx; // 右下角x轴坐标 int ISUy; // 右下角y轴坐标 }; 可是却出现了如下的警告: warning C4091: 'extern ' : ignored on left of 'struct Step' when no variable is declared 可能是我导入的方法有问题,可是我又不知道如何正确导入,请大家帮忙看看
extern struct Step
{
int IType; // 记录绘图的类型
int ISDx; // 左上角x轴坐标
int ISDy; // 左上角y轴坐标
int ISUx; // 右下角x轴坐标
int ISUy; // 右下角y轴坐标
};
可是却出现了如下的警告:
warning C4091: 'extern ' : ignored on left of 'struct Step' when no variable is declared
可能是我导入的方法有问题,可是我又不知道如何正确导入,请大家帮忙看看
你需要理解extern的意思:
http://blog.chinaunix.net/u2/64516/showart_508793.html1. extern 变量; 一般用于共享数据。
你程序里为什么要用extern
#结构放在1.h
struct Step
{...
}#在文件XXX.h / XXX.cpp中使用Step
直接可以使用 Step结构.
如果你在1.cpp中定义了变量struct Step g_Step,可以在XXX.h/XXX.cpp使用 extern struct Step g_Step;意思是在XXX中共享该结构数据(需要在XXX中包括1.h)。
2. extern 函数; 说白了就是告诉编译器这个函数可能在别的源文件里定义.
3. extern "C" XX; 就是C兼容了。