Ubuntu 9.10(gcc 4.4.1)でCプログラムをコンパイルしようとしています。
このエラーが発生しています:
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)で正常にコンパイルされます。
何が足りないのか教えてください。
2
私がまだ理解していないことが、古いバージョンのgccとubuntuでは問題なくコンパイルされ、新しいバージョンではコンパイルされない理由です。なぜ誰かが説明できますか?
—
デニス
@Dennis:おそらく、必要なヘッダー
—
ポールR
<string.h>
が古いgcc / Ubuntu構成の#include
他の#include
dヘッダーを介して間接的に作成されているためです。
@Dennis -fpermissiveをgccオプションに追加することも、これらの奇妙なケースで役立つ可能性がありますが、これは単なる回避策です
—
emu