- 此问题在此处已有答案**:
Passing an array by reference(5个答案)
What is array to pointer decay?(11个答案)
3天前关闭。
我有这个代码看起来像sizeof(skyline)返回总是8,当划分它与sizeof(int)是4给我错误的数组大小.代码:
int calcualteSkyLine(const int* skyline)
{
int arrSize = sizeof(skyline) / sizeof(int);
for(int i=0;i <=arrSize;i++)
{
std::cout << skyline[i] << std::endl;
}
}
int main(int argv,char** argc)
{
const int buldingArry[] = {1,3,2,1,2,1,5,3,3,4,2};
calcualteSkyLine(buldingArry);
return 0;
}
arrSize始终为8 ..因此无法打印数组,这里出了什么问题?如果我将"arrSize"替换为10,则所有工作
1条答案
按热度按时间vsmadaxz1#
你的代码在当前的C++中是什么样子的(还有一点额外的,因为我需要一个返回值;)