Я получил сообщение warning C4090: '=': different 'const' qualifiers
при компиляции моей программы на Си.
Я видел некоторую информацию здесь , здесь и даже здесь . Но я до сих пор не понимаю, как они связаны с моей проблемой. Для компиляции я использую командную строку Visual C ++ 2015 x64 Native Build Tools.
Я знаю, что это из-за использования const
в объявлении функции. Но массив не меняется. Так в чем же дело?
Вот мой код:
#include <stdio.h>
int sum_array(const int a[], int n)
{
int *p, sum;
sum = 0;
for (p = a; p < a + n; p++)
sum += *p;
return sum;
}
int main(void)
{
int a[5] = {1, 2, 3, 4, 5};
printf("%d", sum_array(a, 5));
return 0;
}
Программа работает хорошо, я просто хочу понять, почему я получаю это предупреждение.