蓝殇峰喆 蓝殇峰喆
关注数: 4 粉丝数: 149 发帖数: 681 关注贴吧数: 44
求助怎么改? #include "iostream" using namespace std; class Gelr { public: void gelr1(double t,double y[] ,int n,double h,int k,double z[][11]); void gelrf(double t,double y[],int n,double d[]); //void display(); protected: double t; double y[3]; int n; double h; int k; double z[3][11]; double d[3]; }; void Gelr::gelr1(double t,double y[],int n,double h,int k, double z[]) { int i,j; double x,*d; d=static_cast<double*>(malloc(n*sizeof(double))); for (i=0; i<=n-1; i++) z[i*k]=y[i]; for (j=1; j<=k-1; j++) { x=t+(j-1)*h; gelrf(x,y,n,d); for (i=0; i<=n-1; i++) y[i]=z[i*k+j-1]+h*d[i]; x=t+j*h; gelrf(x,y,n,d); for (i=0; i<=n-1; i++) d[i]=z[i*k+j-1]+h*d[i]; for (i=0; i<=n-1; i++) { y[i]=(y[i]+d[i])/2.0; z[i*k+j]=y[i]; } } free(d); return; } void Gelr::gelrf(double t,double y[],int n,double d[]) { t=t; n=n; d[0]=y[1]; d[1]=-y[0]; d[2]=-y[2]; return; } int main() { int i,j; double y[3],z[3][11],t,h,x; y[0]=-1.0; y[1]=0.0; y[2]=1.0; t=0.0; h=0.01; Gelr g; g.gelr1(t,y,3,h,11,z); cout<<"\n"<<endl; for (i=0; i<=10; i++) { x=i*h; cout<<"t:"<<x<<endl; for (j=0; j<=2; j++) cout<<"y("<<j<<")=%"<<z[j][i]<<endl; cout<<"\n"<<endl; } cout<<"\n"<<endl; return 0; } --------------------Configuration: sdt - Win32 Debug-------------------- Compiling... sdt.cpp D:\防灾\C++程序设计电子教案\微分方程\std\sdt.cpp(19) : error C2511: 'gelr1' : overloaded member function 'void (double,double [],int,double,int,double [])' not found in 'Gelr' D:\防灾\C++程序设计电子教案\微分方程\std\sdt.cpp(4) : see declaration of 'Gelr' 执行 cl.exe 时出错. sdt.exe - 1 error(s), 0 warning(s)
1 下一页