Estoy intentando compilar mi programa C en Ubuntu 9.10 (gcc 4.4.1).
Recibo este error:
Rect.cpp:344: error: ‘memset’ was not declared in this scope
Pero el problema es que ya he incluido en mi archivo cpp:
#include <stdio.h>
#include <stdlib.h>
Y el mismo programa se compila bien en Ubuntu 8.04 (gcc 4.2.4).
Por favor, dime qué me estoy perdiendo.

<string.h>se está#included indirectamente a través de algún otro#includeencabezado d en su configuración anterior de gcc / Ubuntu.Respuestas:
Debe incluir
<string.h>(o su equivalente en C ++<cstring>).fuente
Siempre que tenga un problema como este, vaya a la página del manual de la función en cuestión y le dirá qué encabezado le falta, por ejemplo
Tenga en cuenta que para C ++ es generalmente preferible usar los encabezados C ++ equivalentes adecuados,
<cstring>/<cstdio>/<cstdlib>/ etc, en lugar de C<string.h>/<stdio.h>/<stdlib.h>/ etc.fuente