请问C++Buider中这个函数有什么问题?编译时提示错误为[[C++ Error] Unit1.cpp(80): E2141 Declaration sy

double x0(double b,double by,double h,double hy,double h0,double n,double A,double As) //定义全截面换算截面受压区高度函数
{
double n,x0;
n=Es/Ec;
x0=(b*h*h+(by-b)*hy*hy+2*(n-1)*As*h0)/(2*A+2*(n-1)*As);
return(x0);
}
double qx()
{
double m,double l,double f;
double x1,x2;
n=( imput ->Es )/ (imput ->Ec);
m=( imput -> b );
l=2*(( imput -> bf ) *( imput -> hf ) -( imput -> b )* ( imput -> hf )+n* As );
f=-(2*n*As * ( imput -> h0 ) +(( imput -> bf )- ( imput -> b ))* ( imput -> hf )* ( imput -> hf ))
if((l*l-4*m*f)<0)
{
shuchu->xx="截面数据输入有误";
Edit15->Text=(shuchu->xx);
}
else
{
x1=(-l+sqrt(l*l-4*m*f))/(2*m);
x2=(-l-sqrt(l*l-4*m*f))/(2*m);
}
if((x1<=0)||(x1>=(imput ->h))
{
x=x2;
}
if((x2<=0)||(x2>=(imput ->h))
{
x=x1;
}
return(x);
}

你的n重复定义了,函数名称x0与变量名相同,这是不可以的。追问

double qx()

追答

这样可以!

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-15
你的Es、Ec是否定义,如何定义的,建议检查
也可以把变量X0改个名字试试追问

谢谢 这的确是我出的问题 能不能再帮我看下这个一元二次方程函数在C++Buider里面编译错误的原因呢?程序在问题补充里面

追答

函数错误出在哪儿了?问题描述清楚撒
还应该把代码所要解的方程列出来撒

C语言和C++有什么区别么??
一、性质不同 1、Visual C++:Microsoft Visual C++(简称Visual C++、MSVC、VC++6.0或VC6.0)是Microsoft公司推出的以C++语言为基础的开发Windows环境程序,面向对象的可视化集成编程系统。2、C++:C++是C语言的继承,进行C语言的过程化程序设计。二、作用不同 1、Visual C++:适合用来编写各种复杂软件。

相似回答
大家正在搜