Ответ 1
Это означает, что вы передаете аргумент const
функции, которая принимает аргумент не const
, что потенциально плохо по понятным причинам.
huffenc
, вероятно, не нужен аргумент не const
, поэтому он должен принять const char*
. Однако ваше определение main
является нестандартным.
В стандарте C99 раздела 5.1.2.2.1 (запуск программы) указано:
Функция, вызванная при запуске программы, называется main. Реализация не объявляет прототип для этой функции. Он определяется типом возврата int и без Параметры:
int main(void) { /* ... */ }
или с двумя параметрами (называемыми здесь argc и argv, хотя любые имена могут быть используются, поскольку они являются локальными для функции, в которой они объявлены):
int main(int argc, char *argv[]) { /* ... */ }
или эквивалент; 9) или каким-либо другим способом, определяемым реализацией.
И далее...
... Параметры argc и argv и строки, на которые указывает массив argv , должны быть модифицированным программой и сохранять свои последние сохраненные значения между программой запуск и завершение программы.