error C2440: '=' : cannot convert from 'int [8]' to 'class ff *'

来源:百度知道 编辑:UC知道 时间:2024/07/15 23:50:34
# include<iostream.h>
class ff
{int n;
public:
int pp()
{int p;
for(int i=1;i<n;i++)
p*=i;
return p;
}
ff(int *j)
{n=*j;}
};
void main()
{int m[]={2,3,4,5,6,7,8,9};
ff *ob1;
ob1=m;
for(int i=0;i<9;i++,ob1++)cout<<*ob1.pp()<<endl;
}

错在哪啦,如何改
谢谢
# include<iostream.h>
class ff
{int n;
public:
int pp()
{int p;
for(int i=1;i<n;i++)
p*=i;
return p;
}
ff(int j)
{n=j;}
};
void main()
{ff ob1[]={2,3,4,5,6,7,8,9};
for(int i=0;i<9;i++)cout<<ob1[i].pp()<<endl;}
运行错误

class 的对象必须用 构建函数 ff(int j) 建立,
不能用 赋值语句和 ={2,3,4,5,6,7,8,9}; 的形式建立。

ob1=m;

这一句是不成立的。至于具体我就不啰嗦了。