Разрешено ли использование const_cast для доступа только для чтения к объекту const?

В C ++ у меня есть функция, которая требует только доступ только для чтения к массиву, но ошибочно объявлена как получение неконстантного указателя:

size_t countZeroes( int* array, size_t count )
{
    size_t result = 0;        
    for( size_t i = 0; i < count; i++ ) {
       if( array[i] == 0 ) {
           ++result;
       }
    }
    return result;
}

и мне нужно вызвать его для массива const:

static const int Array[] = { 10, 20, 0, 2};

countZeroes( const_cast( Array ), sizeof( Array ) / sizeof( Array[0] ) );

это будет неопределенным поведением? Если так - когда программа попадет в UB - при выполнении const_cast и вызове функции или при доступе к массиву?

Ответы на вопрос(5)

Ваш ответ на вопрос