独自の静的ライブラリに配置したC++クラスを作成しました。
public:
また、他の人がクラスの一部を見ることができるようにする最小限のヘッダーファイルを作成することにしました。したがって、基本的に元のヘッダーファイル(かなり長く、クラスのprivate:
と部分などが含まれています)を取得し、部分(短い、コンストラクタ/デストラクタと1つのパブリック関数のみ)public:
以外のすべてを削除しました。public:
テストするために、ライブラリを使用するダミープロジェクトを作成しました。そのプロジェクトで最小限のヘッダーファイルを使用すると、次のようなメッセージが表示されてクラッシュします。
test(44349) malloc: *** error for object 0x7fdab2c242e8: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
しかし、元のヘッダーファイルをインクルードするときはいつでも、正常に機能します。
何が問題なのですか?-Wall
最小ヘッダーファイルと元のヘッダーファイルの両方を使用して、正常にコンパイルされます(警告がなくても)。