【发布时间】:2013-10-26 13:32:54
【问题描述】:
这里的新手问题...为什么以下代码仅适用于一维数组而不适用于二维数组?只要它是一个 char* 指针(原样),b 是指向一维数组还是二维数组的开头,难道不应该有区别吗?我认为通用符号 [bound1][bound2] 等效于 [bound1*bound2],即使在赋值操作中也是如此。帮忙?
main() //this works fine
{
char *b;
b = new char[50];
return 0;
}
.
main() //but this raises the error "Cannot convert char(*)[50] to char* in assignment"
{
char *b;
b = new char[50][50];
return 0;
}
【问题讨论】:
-
有时搜索 SO - stackoverflow.com/questions/936687/… 会有所帮助