【发布时间】:2015-03-27 00:01:39
【问题描述】:
所以我正在编写一个函数来将二维数组复制到另一个数组中,如下所示:
void copyTable(int val, char table[][16], char tableNew[][16]){
for(int y = 0; y< val; y++){
for(int x = 0; x<val; x++ ){
table[x][y]=tableNew[x][y];
}
}
}
这可以编译,但我真正需要做的是而不是 16 有一个变量,以便该函数可以与任何大小的数组一起使用,如下所示:
int num;
void copyTable(int val, char table[][num], char tableNew[][num]){
for(int y = 0; y< val; y++){
for(int x = 0; x<val; x++ ){
table[x][y]=tableNew[x][y];
}
}
}
我得到错误:
main.cpp:14:41: error: array bound is not an integer constant before ']' token
void copyTable(int val, char table[][num], char tableNew[][num]){
^
main.cpp:14:42: error: expected ')' before ',' token
void copyTable(int val, char table[][num], char tableNew[][num]){
^
main.cpp:14:44: error: expected unqualified-id before 'char'
void copyTable(int val, char table[][num], char tableNew[][num]){
第 14 行是“void copyTable(...”
【问题讨论】:
-
考虑动态内存分配
new
标签: c++ arrays 2d parameter-passing