Sev*_*ays 0 c++ global-variables
我尝试了很多解决方案,但无法使我的程序正常运行.
main.h
short NWMP_acc[3];
short NWMP_gyro[3];
Run Code Online (Sandbox Code Playgroud)
main.cpp中
printf_( "%i,%i,%i, g\n", NWMP_gyro[YAW],NWMP_gyro[PITCH],NWMP_gyro[ROLL]);
Run Code Online (Sandbox Code Playgroud)
other.cpp
#include "main.h"
NWMP_gyro[YAW] = (((buf[3]>>2)<<8) + buffer[0]);//multiple definition of `NWMP_gyro'
Run Code Online (Sandbox Code Playgroud)
如果我改为"extern short NWMP_acc [3];" 比我得到一个错误"未定义引用`NWMP_acc'"
你需要有和没有 extern
在您的标题中,您需要:
extern short NWMP_acc[3];
extern short NWMP_gyro[3];
Run Code Online (Sandbox Code Playgroud)
但是在你的一个".cpp"文件中你还需要:
short NWMP_acc[3];
short NWMP_gyro[3];
Run Code Online (Sandbox Code Playgroud)
这样做的原因是extern关键字可以粗略地被认为是"我保证在一个文件中的某个地方存在一个看起来像这样的真实物品".
| 归档时间: |
|
| 查看次数: |
1746 次 |
| 最近记录: |