Я сильно уменьшил свой реальный код, чтобы сделать его максимально компактным для этой публикации.Функция return warning about const attribute
Мои вопросы касательно атрибута const
. Когда я компилирую это ...
const char tmp[] = "anything";
int main(int argc, char *argv[]) {
/* my code */
return 0;
}
char *somefunction (char *c) {
extern const char tmp[];
/* my code */
return tmp;
}
... Я получаю:
предупреждение: возвращение Отбрасывает 'Const' Классификатор от целевого указателя типа [по умолчанию включено]
код работает отлично.
somefunction
не касался строки tmp
, поэтому почему return
сгенерировать это предупреждение?
Если я покину const
, предупреждение исчезнет.
Поскольку тип возврата является символом 'char *', а не 'const char *'. Изменить 'char * somefunction (char * c)' to 'const char * somefunction (char * c)' –
Работал ... большое спасибо! – geohei