次の関数では、配列の長さをどのように見つけることができますか
int fnLenghthOfArray(int arry[]){
return sizeof(arry)/sizeof(int); // This always returns 1
}
ここで、この関数は常に 1 を返します。一方、assizeof(arry)/sizeof(int)
は、配列が宣言されている関数内の配列の実際の長さを示します。
ベクトルまたはテンプレートを使用する場合
template<typename T,int N>
int fnLenghthOfArray(T (&arry)[N]){
}
サイズを取得できます。しかし、ここでは関数プロトタイプを変更することはできません。
これを見つけるのを手伝ってください。