代码的一部分:
class WierszTrojkatPascala { //tab,tablica is an array
private:
int tablica[];
public:
WierszTrojkatPascala(int n) {
int* tab = new int[n+1];
for(int i=0;i<n+1;i++)
tab[i] = 0;
tab[0] = 1;
//creating pascal triangle for n//
for( int i=0; i<=n; i++)
for( int j=i; j>0; j--)
tab[j]=tab[j]+tab[j-1];
for(int i=0;i<=n;i++)
cout<<tab[i]<<' ';
for(int i=0;i<=n;i++)
tablica[i]=tab[i];
}
int wspolczynnik(int m) {
return tablica[m];
}
};
这个班级创造了帕斯卡三角形的第n节。在代码的其余部分我想使用wpspolczynnik函数。不幸的tablica [m]不起作用。例如,当我创建类WierszTrojkataPascala verse
的对象并执行verse.wspolczynnik(1)
时,我得到的返回值等于2但它应该是4.为什么我的诗句被构造函数改为正确但是当我想要得到时通过函数wspolczynik()它不起作用。
提前Ty!
答案 0 :(得分:2)
这个数据成员tablica的定义
int tablica[];
无效。您必须使用const表达式指定数组的大小。