Я пытаюсь скомпилировать свою программу на C в Ubuntu 9.10 (gcc 4.4.1).
Я получаю эту ошибку:
Rect.cpp:344: error: ‘memset’ was not declared in this scope
Но проблема в том, что я уже включил в свой файл cpp:
#include <stdio.h>
#include <stdlib.h>
И эта же программа отлично компилируется под Ubuntu 8.04 (gcc 4.2.4).
Скажите, пожалуйста, что мне не хватает.
<string.h>
в настоящее время#include
d косвенно через какой - либо другой#include
заголовок г в вашем старше ССАГПЗ / Ubuntu конфигурации.Ответы:
Вы должны включить
<string.h>
(или его эквивалент в C ++<cstring>
).источник
Когда бы вы ни столкнулись с такой проблемой, просто перейдите на страницу руководства для соответствующей функции, и она сообщит вам, какой заголовок вам не хватает, например
Обратите внимание, что для C ++ обычно предпочтительнее использовать соответствующие эквивалентные заголовки C ++,
<cstring>
/<cstdio>
/<cstdlib>
/ etc, а не C<string.h>
/<stdio.h>
/<stdlib.h>
/ etc.источник