предупреждение от затмения - PullRequest
1 голос
/ 03 мая 2010

Может кто-нибудь объяснить, что это значит: passing arg 1 of 'free' discards qualifiers from pointer target type

1 Ответ

0 голосов
/ 03 мая 2010

Я полагаю, что «сбрасывает квалификацию» относится к const или volatile. Таким образом, вы, вероятно, передаете константный указатель как неконстантный аргумент.

Ваш код, вероятно, похож на следующее:

#include <stdlib.h>
int main() {
    const double *x ;
    x = (double *) malloc(4 * sizeof(double)) ;
    free(x) ;
    return 0 ;
}

Я заимствовал этот пример из аналогичного вопроса, заданного на онлайн-форуме .

Проблема в том, что, поскольку вы сказали, что данные, на которые вы указываете, const, вы не можете их изменить. Вы не можете инициализировать это, вы не можете изменить это, вы не можете free это. Поэтому не используйте указатель const в качестве единственного указателя на результат malloc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...