Saya mencoba mengompilasi program C saya di Ubuntu 9.10 (gcc 4.4.1).
Saya mendapatkan kesalahan ini:
Rect.cpp:344: error: ‘memset’ was not declared in this scope
Tapi masalahnya saya sudah memasukkan file cpp saya:
#include <stdio.h>
#include <stdlib.h>
Dan program yang sama dapat dikompilasi dengan baik di bawah Ubuntu 8.04 (gcc 4.2.4).
Tolong beritahu saya apa yang saya lewatkan.
<string.h>
sedang#include
d secara tidak langsung melalui beberapa#include
header d lain di konfigurasi gcc / Ubuntu Anda yang lebih lama.Jawaban:
Anda harus menyertakan
<string.h>
(atau yang setara dengan C ++,<cstring>
).sumber
Setiap kali Anda mendapatkan masalah seperti ini, cukup buka halaman manual untuk fungsi tersebut dan itu akan memberi tahu Anda header apa yang Anda lewatkan, mis.
Perhatikan bahwa untuk C ++ biasanya lebih baik menggunakan header C ++ setara yang tepat,
<cstring>
/<cstdio>
/<cstdlib>
/ etc, daripada C's<string.h>
/<stdio.h>
/<stdlib.h>
/ etc.sumber