C ++编程新手我试图让一些开源软件运行,以便我可以在它上面构建。 我有3 * cpp模块。一个包含......
const double Qcf[6]= { 1.0, 448.831, 0.64632,0.02832, 28.317, 2.4466};
其他两个模块使用此常量并在其正文中包含对它的引用
extern double Qcf[];
这些模块中的每一个都有一个方法/功能 即
之类的东西void routine1()
{
double i;
i = 2 * Qcf[1];
}
我已经构建了代码,它似乎已经编译(即* cpp转到 obj),但我得到2条错误消息。 LNK2001未解析的外部符号“双 Qcf”
每个错误都与每个* obj文件相关
(我还得到另一个 LNK1120两个未解析的外部错误,但我想如果我解决了LNK2001问题,这将是自我纠正的。)
有关如何纠正此问题的任何建议都需要提前了解。
答案 0 :(得分:0)
Qcf
在一个模块中定义为const double[]
,在另一个模块中声明为double[]
。你也应该声明它为const。
(或std::array<double, 6>
而不是C风格的数组,如果您的编译器支持C ++ 11)