с учетом следующего кода:
/* signatures */
int getParams(char params[MAX_PARAM_LEN][MAX_LINE_LEN]);
int getVersion(const char params[MAX_PARAM_LEN][MAX_LINE_LEN],
const char* tagName );
/* initializing */
char params[MAX_PARAM_LEN][MAX_LINE_LEN] = {};
/* getting parameters */
paramCount = getParams(params); /* OK, params match with getParams signature */
/* processing the params array */
i = getVersion(params, "version"); /* warning: passing arg 1 of `getVersion' from incompatible pointer type */
Я вижу, что проблема в константности, но я не знаю, почему и как ее избежать. То, что я хочу, это функция, которая больше не может изменять params
. Любой совет приветствуется (кроме отключения этого предупреждения или удаления const в функции обработки).
спасибо:
Виско