日期:2014-05-16  浏览次数:20753 次

请问下面的new bool型,哪里错了?
 bool (*bFlag)[5]=new bool[] [5];
我想new一个二维的bool 数组,不知道大小,这样写,
然后
memset(bFlag,0,sizeof(bFlag));
这样初始化不对吗?
 
sizeof

------解决方案--------------------
这代码问题有点多,,
1.new bool[] [5];
new后面只能跟一个中括号,并且里面要给定申请的大小
2.sizeof(bFlag)
bFlag是一个指针 那么sizeof(bFlag)将一直等于4 ,一个指针的大小永远是4(一般情况下,不排除有其他情况)


建议你用数组,这样sizeof也能用。
如果一定要用指针的话 多维指针要这么申请
bool **p = new bool*[n];
for ( int i = 0; i < m; i++ ) p[i] = new bool[n];