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

怎么调用类中的成员,以及怎么定义动态的二位数组

2012-02-04 
如何调用类中的成员,以及如何定义动态的二位数组这个是我定义的一个类我想要调用r_iRiverWidth,可是怎么总

如何调用类中的成员,以及如何定义动态的二位数组
这个是我定义的一个类
我想要调用r_iRiverWidth,可是怎么总出错呢  
提示:
[C++   Error]   fish.cpp(30):   E2451   Undefined   symbol   'r_iRiverWidth '
[C++   Error]   fish.cpp(31):   E2451   Undefined   symbol   'r_iRiverLength '
[C++   Error]   fish.cpp(51):   E2451   Undefined   symbol   'river '

  class   Criver
{
    public:
    int   r_iRiverWidth;                     //河流二位数组的宽
    int   r_iRiverLength;                   //河流二位数组的长
    int   river[r_iRiverWidth][r_iRiverLength];

见笑了啊,刚编程,出现很弱质的问题。
谢谢大家帮忙!!!!!

};

[解决办法]
Criver *criver = new Criver();
criver-> r_iRiverWidth
[解决办法]
C++动态分配二维数组有点麻烦,以下这个例子供你参考
class Criver
{
public:
Criver(int iWidth, int iLength){
r_iRiverWidth = iWidth;
r_iRiverLength = iLength;
river = new int*[r_iRiverLength];
for (int i=0; i <r_iRiverLength; i++)
*(river+i) = new int[r_iRiverWidth];
}
~Criver()
{
delete[] river;
}
private:
int r_iRiverWidth; //河流二位数组的宽
int r_iRiverLength; //河流二位数组的长
int **river;
};
[解决办法]
你的class Criver无需定义成二维指针数组。
class Criver{
int r_iRiverWidth; //河流二位数组的宽
int r_iRiverLength; //河流二位数组的长
int *river;
public:
Criver(int w,int l):r_iRiverWidth(w),r_iRiverLenght(l),river(0){
river = new int[w*l];}
~Criver(){if(river)delete []river;}
int& Unit(int col,int row){return river[col*r_iRiverWidth+row];}
...};

to:gyj_china(透明),你的程序有错误,有严重的内存管理问题。

热点排行