C++在头函数中定义了一个全局变量,在主函数中已经include“xx.h”,但是我不能用那个全局变量 为什么?

日期:2018-04-21 10:39:54 人气:1

C++在头函数中定义了一个全局变量,在主函数中已经include“xx.h”,但是我不能用那个全局变量 为什么?

extern Mat point_X;这一句只是一个声明语句,并没有真正定义 对象 point_X。 你需要在任意一个 源文件cpp文件中定义这个对象,比如这样: Mat point_X;,去掉前面的 extern即是定义了。 头文件里加声明是正确的做法,如你的代码。而定义一般是 放在源文件里的。源文件才会编译成一个个中间文件。头文件不会。头文件一般就是声明,然后可能被多个源文件包含。
    A+
热门评论