C++ OriginPro数据拟合中未声明变量错误

C++ OriginPro数据拟合中未声明变量错误,c++,C++,我试图在程序OriginPro中构建一个函数,但在编译脚本时得到一个未声明的变量错误。脚本应使用纽曼迭代法求解系数为a、b、c和d的三次方程,然后使用该解决方案优化参数K1、K2、E0、E1、E2和Gt(不是脚本的一部分,OriginPro会这样做),然后再次使用优化参数求解三次方程。我在编译脚本时遇到错误“variable”和“not declared”。我把脚本贴在这里。任何帮助都将不胜感激 //------------------------------------------------

我试图在程序OriginPro中构建一个函数,但在编译脚本时得到一个未声明的变量错误。脚本应使用纽曼迭代法求解系数为a、b、c和d的三次方程,然后使用该解决方案优化参数K1、K2、E0、E1、E2和Gt(不是脚本的一部分,OriginPro会这样做),然后再次使用优化参数求解三次方程。我在编译脚本时遇到错误“variable”和“not declared”。我把脚本贴在这里。任何帮助都将不胜感激

//----------------------------------------------------------
// 
void _nlsfNMR2to1Iterative(
// Fit Parameter(s):
double K1, double K2, double E0, double E1, double E2, double Gt,
// Independent Variable(s):
double x,
// Dependent Variable(s):
double& y)
{
// Beginning of editable part
a=K1*K2;
b=K1+2*K2*K1*x-K1*K2*Gt;
c=1+K1*x-K1*Gt;
d=-Gt;

for(G=x, step=1; abs(step)>1e-15; G=G-step){
    step=(a*G*G*G+b*G*G+c*G+d)/(3*a*G*G+2*b*G+c);};

y=E0*G+Ht*(E1*K1*G+E2*K1*K2*G*G)/(1+K1*G+K1*K2*G*G)
// End of editable part
}

您需要在
a
b
c
d
的声明中添加一个类型

更改:

a=K1*K2;
b=K1+2*K2*K1*x-K1*K2*Gt;
c=1+K1*x-K1*Gt;
d=-Gt;


错误很清楚什么是
a
?没有定义,这不能是你的完整代码,不能看到<代码> > <代码> > <代码> b>代码>,<代码> c>代码>或<代码> d>代码>这里……我如何声明变量?C++不是C不是C++!这似乎对a、b、c和d都适用。现在它给了我与G相同的错误-我应该把它添加到依赖变量列表中吗?
double a=K1*K2;
double b=K1+2*K2*K1*x-K1*K2*Gt;
double c=1+K1*x-K1*Gt;
double d=-Gt;