在.cpp文件中声明了全局变量,但在另一个.hpp文件中无法使用它

时间:2019-12-13 10:26:32

标签: g++ extern

我正在使用 mlpack

我有一个声明为全局变量的“ traindata”:

arma::mat traindata;

在cnn.cpp中。

然后我想在mean_squared_error_impl.hpp中使用它

所以我宣布为:

extern arma::mat traindata;

但是g ++编译器会说:

  

错误:对“ traindata”的引用含糊不清   因为有2位候选人,一个在cnn.cpp中,一个在mean_squared_error_impl.hpp中

(最后一个被声明为 extern )。

如果您希望我可以提供源,请写信给fportera2@gmail.com

1 个答案:

答案 0 :(得分:0)

已成功解决,链接器成功链接了变量。