2016-12-13 46 views
-1

全局变量是我的代码不工作的树莓派

glb.h

extern int var; 

glb.cpp

int var =0; 

main.cpp

#include <glb.h> 

int var1 = 100; 
var = var1; 

我需要使用全局变量,但是当我在树莓派上交叉编译时,全局变量(var)没有显示任何值。有任何想法吗?

+0

这不是特定于pi的,你应该为它标记C++。在你的情况下,“不显示”是什么意思?价值不变?你有编译器错误吗? –

+0

值是o但它应该改为100.没有编译器错误 – user3178100

+1

也许不是'“int var 1”'但是'“int var1”'? –

回答

0

问题是您的main.cpp文件的语句超出了任何函数的范围。例如:

var = var1; 

必须在函数中。唯一可以在全球范围内的是声明和初始分配。把它放在一个主要功能,它的作品。

顺便说一句,您的使用#include <>是非标准的。通常双引号(")用于您自己的头文件在同一个目录中,尖括号用于包含标准系统头文件。