В приведенном ниже коде lis - это массив, а также имя функции с тем же типом возврата (int), я не получил никакой ошибки. Кто-нибудь может объяснить, что происходит в фоновом режиме?Почему компилятор не показывает ошибку?
int lis( int arr[], int n )
{
int lis[n];
lis[0] = 1;
for (int i = 1; i < n; i++ )
{
lis[i] = 1;
for (int j = 0; j < i; j++ )
if ( arr[i] > arr[j] && lis[i] < lis[j] + 1)
lis[i] = lis[j] + 1;
}