我继承了一些 C++ 代码,并试图将其迁移到 Netbeans 11 IDE 以便于调试。它在 OSX 终端中编译良好,但在 Netbeans 中编译时出现以下错误:
In file included from BOF_Model.cpp:38: ./IM.cpp:53:9: error: expected expression
WiHm = { 4.71, 0.33, 0.52, 0.066 }; // the weight percentage of component i in metal
它需要等号后的表达式,但我不明白为什么给定的列表无效。WiHm 在代码的前面声明为:
// Include Statements
#include <vector>
#include <math.h>
#include <stdlib.h>
// IM Values
double MHm;
std::vector<double> WiHm (static_cast<int> (4), 0);
double Sulphur;
...
void initIM()
{
//MHm = 170.0; // the amount of hot metal charged to the process (tonne)
WiHm = { 4.71, 0.33, 0.52, 0.066 }; // the weight percentage of component i in metal
//Sulphur = 0.015; // (mass%) sulphur content in iron
...
}
在 makefile 中,出现以下内容:
# Use GNU++ libraries for additional features
CPPSTD=gnu++0x
我现在已经将两个编译器都切换到了 c++11,这已经解决了这个问题,但其他一些问题仍然存在。谢谢