Внутри функции main вызов sizeof(arr) вернёт 12 - т.к. в границах этой функции компилятор воспринимает arr именно как int[3].
Но вот при передаче массива в другую функцию происходит передача только указателя на начало массива и вся информация о размере теряется.
Это особенность языка C, которая переехала в C++. Но, в отличие от C, в C++ есть полноценные массивы - в виде стандартных классов array и vector. Использовать же C-style массивы в C++ большей частью не имеет смысла.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.