В программе есть строки:
#include <string.h>
...
char* where;
char* array;
char* needle;
size_t left, needlelength;
...
where = memmem( array, left, needle, needlelength);
На последнюю строку GCC выдаёт предупреждение:
warning: assignment makes pointer from integer without a cast
Если перед memmap добавить (char*) или (void*), компилируется без предупреждений.
Почему так происходит? Во всех мануалах написано, что memmem возвращает указатели. В заголовочных файлах она есть только в string.h:
extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen)
Система Ubuntu, gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5, версия libc 2.12.1.
Заранее спасибо.

Ответ на:
комментарий
от arsi


Ответ на:
комментарий
от AIv

Ответ на:
комментарий
от question4

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от question4
Ответ на:
комментарий
от AIv
Ответ на:
комментарий
от Murr

Ответ на:
комментарий
от arsi
Ответ на:
комментарий
от question4
Ответ на:
комментарий
от question4

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от AIv

Ответ на:
комментарий
от arsi

Ответ на:
комментарий
от AIv

Ответ на:
комментарий
от AIv

Ответ на:
комментарий
от staseg

Ответ на:
комментарий
от AIv
Ответ на:
комментарий
от AIv

Ответ на:
комментарий
от Murr

Ответ на:
комментарий
от arsi

Ответ на:
комментарий
от AIv

Ответ на:
комментарий
от Murr

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.