我的函数如下:double CXzjdtdDlg::Getzjdhd(double H, double M, int z, double Mn,CArray<double,double&> Mi,CArray<double,double&> Qd)
调用时: CArray<double,double&> Mi;
CArray<double,double&> Qd;
Getzjdhd(H,M,z,Mn,Mi,Qd);
出现错误:cannot convert parameter 5 from 'class CArray<double,double &>' to 'class CArray<double,double &>'
后来改成double CXzjdtdDlg::Getzjdhd(double H, double M, int z, double Mn,CArray<double,double&>* Mi,CArray<double,double&>* Qd)
CArray<double,double&>* Mi;
CArray<double,double&>* Qd;
Getzjdhd(H,M,z,Mn,&Mi,&Qd);
还是出现错误,求大师帮忙啊
调用时: CArray<double,double&> Mi;
CArray<double,double&> Qd;
Getzjdhd(H,M,z,Mn,Mi,Qd);
出现错误:cannot convert parameter 5 from 'class CArray<double,double &>' to 'class CArray<double,double &>'
后来改成double CXzjdtdDlg::Getzjdhd(double H, double M, int z, double Mn,CArray<double,double&>* Mi,CArray<double,double&>* Qd)
CArray<double,double&>* Mi;
CArray<double,double&>* Qd;
Getzjdhd(H,M,z,Mn,&Mi,&Qd);
还是出现错误,求大师帮忙啊
没贴错吧?
别忘了开启MFC static library#include <afxwin.h>
#include <afxtempl.h>
#include <iostream>
using std::cout;
using std::endl;
void Fun(CArray<double,double> &d);
void main()
{
CArray<double,double> d;
d.Add(400.2);
d.Add(543.321);
d.Add(99.3);
cout<<"before execute fun: " << d[0] <<" "<< d[1] << " " << d[2] <<endl;
Fun(d);
cout<<"after execute fun: " << d[0] <<" "<< d[1] << " " << d[2] <<endl;
}
void Fun(CArray<double,double> &d)
{
int count = d.GetSize();
for(int i=0; i<count; i++)
{
d[i] += 10;
}
}
#include <afxtempl.h>
#include <iostream>
using std::cout;
using std::endl;
typedef CArray<double,double> DArray; //定义一个Array类型
void Fun(DArray &d);
void main()
{
DArray d;
d.Add(400.2);
d.Add(543.321);
d.Add(99.3);
cout<<"before execute fun: " << d[0] <<" "<< d[1] << " " << d[2] <<endl;
Fun(d);
cout<<"after execute fun: " << d[0] <<" "<< d[1] << " " << d[2] <<endl;
}
void Fun(DArray &d)
{
int count = d.GetSize();
for(int i=0; i<count; i++)
{
d[i] += 10;
}
}