В программе есть строки:
#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

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум cast to pointer from integer of different size [-Wint-to-pointer-cast] (2013)
- Форум Си warning: assignment makes integer from pointer without a cast (2016)
- Форум unicode, сортировка и буква ё (2008)
- Форум Программа из K&R вопросы по warnings, полученные от gcc (2015)
- Форум Писал Я тут про Faad2. теперь про MPEG4ip (2004)
- Форум хочу узнать текущй год, а gcc не дает (2007)
- Форум gtk+ предупреждения при компиляции (2006)
- Форум Ядро сломалось (2008)
- Форум Centos7 + компиляция git (2024)
- Форум компиляция trafd-3.0.3-b6 (2007)