首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c++ new开动态数组的有关问题

2012-04-06 
c++ new开动态数组的问题定义了两个类,但是开其中一个类的时候数组的时候怎么也不能通过编译~~求指导先把h

c++ new开动态数组的问题
定义了两个类,但是开其中一个类的时候数组的时候怎么也不能通过编译~~求指导
先把hpp贴出来,很长,不用全看哈~~
class monome{
public:
  monome(double coeff=0,unsigned degre=0){c=coeff;d=degre;};
  inline double coeff()const{return c;};
  inline unsigned degre()const{return d;};
  double operator()(double x)const;
  private:
  double c;
  unsigned d;
}; 

class polynome{
public:
polynome(double *coeff, double *degre,unsigned n);
polynome (double coeff=0,unsigned degre=0);
polynome(const polynome &p);
polynome(const monome &m);
inline unsigned degre()const{return n;};
polynome operator=(polynome &p);
double operator()(double x)const;
polynome operator-();
friend std::ostream&operator <<(ostream&,polynome&);
friend polynome operator+(polynome &p,polynome &q);
friend polynome operator-(polynome &p,polynome &q);
friend polynome operator*(polynome &p,polynome &q);
friend bool operator<(polynome &p,polynome &q);//不知道怎么比大小 
friend bool operator==(polynome &p,polynome &q);
private:
  unsigned n;
  monome data[];
};

下面是cpp:
polynome::polynome(double *coeff, double *degre,unsigned n){
int i;
data=new monome[n+1];
for (i=0;i<=n;i++){
data[i]=monome(coeff[i],degre[i]);};
};
就是这行通过不了编译的说:data=new monome[n+1];
我觉得我问题是出在不会开动态数组上,呜呜


[解决办法]
动态数组不是真正的数组,而是你申请的内存空间
monome data[]改成monome *data
[解决办法]
monome data[]; //monome *data;

热点排行