我找到了这个代码,我不确定是否应该发生重载.
void print( int (*arr)[6], int size );
void print( int (*arr)[5], int size );
Run Code Online (Sandbox Code Playgroud)
如果我将指针传递给4个元素的数组会发生什么,它应该来...
任何线程都会有所帮助.
ken*_*ytm 10
将发生重载,并将指针传递给4的数组int将不匹配任何一个函数.如果你把它们写成等效的形式,它会更清楚:
void print( int arr[][6], int size );
void print( int arr[][5], int size );
Run Code Online (Sandbox Code Playgroud)
N×4阵列可以衰减为指向4的数组的指针int.众所周知,具有不同第二维度的2D阵列是不兼容的.
KennyTM的答案是正确的.不过,这是一个额外的想法,基于你的问题带有C++标签的事实.在C++中,您可以使用具有非类型参数的模板来查找数组维:
#include <iostream>
template< std::size_t N >
void print(int (&arr)[N]) {std::cout << N << '\n';}
int main()
{
int arr[6];
print(arr);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |