大家帮小弟我看一下,二维数组有关问题.在.h里定义二维数组
大家帮我看一下,二维数组问题.在.h里定义二维数组.
我在对话框.h里定义二维数组CString mybu[100][200];要怎么定义?
指针我不熟,在网上找了下有这样说的.在.h里定义CStirng * mybu;
在对应的cpp中写mybu =new CString[100][200];
我试了下,这方法不行.这样做的话比如
mybu[1][2]= "abc ";
的话就会把所有mybu[1][3],mybu[1][4]....等一列都改成这个值.
大家有什么别的办法没,我就是想在.h里定义二维数组.
------解决方案--------------------
直接定义不就可以了吗,比如int array[100][200];
不知楼主是什么意思?如果是要存储字符串的话可以考虑用CStringArray.
------解决方案--------------------
CString array[][100],这样可不可以?
------解决方案--------------------
我也有这样的问题,但是我一般是通过定义一个一维数组来代替的(因为在内存中二维也是按一维存的),然后用指针找,比如:想定义一个3*3的距阵,我用如下方式定义:
int a[9];
然后,用用*((a+i)+j)来模仿二维的访问方式.
------解决方案--------------------
CString array[100][200];可以在.h文件中写,我刚才还亲自试过了。
------解决方案--------------------
你是不是定义全局变量?
如果是的话,多个文件包含它的话,会报重定义的错误。
应该在.cpp里面定义全局变量,在.h里面extern一下。
如果是类的成员的话,应该没有问题啊
------解决方案--------------------
在外部用到这个的时候要加extern,直接定义是绝对没有问题的,你可以把编译的错误发上来大家一起分析分析看到底是什么错误。
------解决方案--------------------
:)
我在对话框.h里定义二维数组CString mybu[100][200];要怎么定义?
指针我不熟,在网上找了下有这样说的.在.h里定义CStirng * mybu;
在对应的cpp中写mybu =new CString[100][200];
我试了下,这方法不行.这样做的话比如
mybu[1][2]= "abc ";
的话就会把所有mybu[1][3],mybu[1][4]....等一列都改成这个值.
大家有什么别的办法没,我就是想在.h里定义二维数组.
------解决方案--------------------
直接定义不就可以了吗,比如int array[100][200];
不知楼主是什么意思?如果是要存储字符串的话可以考虑用CStringArray.
------解决方案--------------------
CString array[][100],这样可不可以?
------解决方案--------------------
我也有这样的问题,但是我一般是通过定义一个一维数组来代替的(因为在内存中二维也是按一维存的),然后用指针找,比如:想定义一个3*3的距阵,我用如下方式定义:
int a[9];
然后,用用*((a+i)+j)来模仿二维的访问方式.
------解决方案--------------------
CString array[100][200];可以在.h文件中写,我刚才还亲自试过了。
------解决方案--------------------
你是不是定义全局变量?
如果是的话,多个文件包含它的话,会报重定义的错误。
应该在.cpp里面定义全局变量,在.h里面extern一下。
如果是类的成员的话,应该没有问题啊
------解决方案--------------------
在外部用到这个的时候要加extern,直接定义是绝对没有问题的,你可以把编译的错误发上来大家一起分析分析看到底是什么错误。
------解决方案--------------------
:)