Tôi đang cố gắng biên dịch chương trình C của mình trong Ubuntu 9.10 (gcc 4.4.1).
Tôi nhận được lỗi này:
Rect.cpp:344: error: ‘memset’ was not declared in this scope
Nhưng vấn đề là tôi đã đưa vào tệp cpp của mình:
#include <stdio.h>
#include <stdlib.h>
Và chương trình tương tự cũng biên dịch tốt trong Ubuntu 8.04 (gcc 4.2.4).
Xin vui lòng cho tôi biết những gì tôi đang thiếu.
2
Có điều tôi vẫn không hiểu là tại sao nó biên dịch tốt trên các phiên bản cũ hơn của gcc & ubuntu chứ không phải trên các phiên bản mới hơn. Bất cứ ai có thể giải thích tại sao?
—
Dennis
@Dennis: có lẽ vì tiêu đề cần thiết
—
Paul R
<string.h>
được #include
d gián tiếp thông qua một số #include
tiêu đề d khác trong cấu hình gcc / Ubuntu cũ hơn của bạn.
@Dennis Thêm -fpermissive vào các tùy chọn gcc cũng có thể hữu ích trong những trường hợp kỳ lạ đó, mặc dù đó chỉ là một cách giải quyết
—
emu