Я пытался пропустить массивы C++ в качестве аргументов в C++ и столкнулся с некоторыми проблемами. Я прошел через this и до сих пор не смог решить проблему.Передача массива в качестве аргументов в C++
C++
#include<iostream>
using namespace std;
void comb(int a[])
{
int alen = sizeof(a)/sizeof(*a);
cout << alen << endl;
/* Since 'I' know the size of a[] */
for(int i = 0; i < 7; i++)
cout << a[i] << " ";
cout << endl;
}
int main()
{
int a[] = {1,2,3,4,5,6,7};
comb(a);
}
Output
2
1 2 3 4 5 6 7
Вопрос в том, как размер массива вычисляется как 2?
Как получается выход 2? –
Если размер указателя в два раза больше размера 'int' –
Не должна ли логика быть' sizeof (a)/sizeof (a [0]) '? – syb0rg