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

程序调试不通 C++二维数组类,该如何处理

2012-04-07 
程序调试不通 C++二维数组类#include iostream.h#include stdlib.hclassArray{public:Array(inti,intj

程序调试不通 C++二维数组类
#include <iostream.h>
#include <stdlib.h>
class   Array
{
public:
Array(int   i,int   j);
~Array(){delete[]p;}
int&   Access(int   i,int   j);
private:
int   isize,jsize;
int   *p;
}
        Array::Array(int   i,int   j)
{
p=new   int[i*j];
if(!p){
cout < < "Allocation   error\n ";
exit(1);
}
isize=i;
jsize=j;
}
int&Array::Access(int   i,int   j)
{
if(i <0||i> =isize||j <0||j> =jsize){
cout < < "Bounds   error!!\n ";
exit(1);
}
return   p[i*jsize+j];
}
void   main()
{
int   width=5,length=6;
Array   a(width,length);
for(int   i=0;i <width;i++)
for(int   j=0;j <length;j++)
a.Access(i,j)=i+j;

for(int   i=0;i <width;i++){
for(int   j=0;j <length;j++)
cout < <a.Access(i,j) < < '     ';
cout   < <endl;
}
}

出错提示:
--------------------Configuration:   C++34   -   Win32   Debug--------------------
Compiling...
C++34.cpp
E:\C语言上机调试\C++34.cpp(14)   :   error   C2533:   'Array::Array '   :   constructors   not   allowed   a   return   type
E:\C语言上机调试\C++34.cpp(34)   :   error   C2264:   'Array::Array '   :   error   in   function   definition   or   declaration;   function   not   called
E:\C语言上机调试\C++34.cpp(39)   :   error   C2374:   'i '   :   redefinition;   multiple   initialization
                E:\C语言上机调试\C++34.cpp(35)   :   see   declaration   of   'i '
Error   executing   cl.exe.

C++34.obj   -   3   error(s),   0   warning(s)
请大家帮忙!

[解决办法]
类定义后加分号
[解决办法]
#include "stdafx.h "

#include <iostream.h>
#include <stdlib.h>
class Array
{
public:
Array(int i,int j);
~Array(){delete[]p;}
int& Access(int i,int j);
private:
int isize,jsize;
int *p;
};
Array::Array(int i,int j)
{
p=new int[i*j];
if(!p){
cout < < "Allocation error\n ";
exit(1);
}
isize=i;
jsize=j;
}
int&Array::Access(int i,int j)
{
if(i <0||i> =isize||j <0||j> =jsize){
cout < < "Bounds error!!\n ";
exit(1);
}
return p[i*jsize+j];
}
void main()
{
int width=5,length=6;
int i, j;
Array a(width,length);
for( i=0;i <width;i++)
for( j=0;j <length;j++)
a.Access(i,j)=i+j;

for( i=0;i <width;i++){
for( j=0;j <length;j++)
cout < <a.Access(i,j) < < ' ';
cout < <endl;
}
}


热点排行
Bad Request.