У меня есть функция, прототип которой следующие:
void foo(const char * data);
В другом месте в моем коде, мне объявили глобальную переменную следующим образом
volatile char var[100];
Каждый раз, когда я пытаюсь сделать это:
foo(var);
Компилятор подбрасывает следующее сообщение об ошибке:
Аргумент типа "энергозависимый символ *" является несовместимым с параметром типа "символ константы *"
Почему имеет место это? Насколько я понимаю переменной в моей функции не позволяют изменить указатель или его содержание. Я понимаю что, потому что моя глобальная переменная энергозависима, она могла потенциально измениться в любое время, но видящий, поскольку совершенно законно иметь энергозависимую переменную константы, я не вижу, почему я получаю эту ошибку компилятора.
Спасибо
- AMR