次のように私は私のTMainFrame.h
でwxObjArrayを定義します。wxObjArrayを正しくインクルードするにはどうすればよいですか?
#ifndef __TMainFrame__
#define __TMainFrame__
#include "MyApp_gui.h"
//// end generated include
#include "TRunThread.h"
#include <wx/dynarray.h>
class TMove;
WX_DECLARE_OBJARRAY(TMove, TMoveArray);
/* ...Class TMainFrame... */
/* ...Class TMove... */
#endif // __TMainFrame__
を今、私は私のTRunThread.h
でWX_DECLARE_OBJARRAYによって作成されたクラスTMoveArrayを使用します。 しかし、そのクラスが見つからない
#include <wx/arrimpl.cpp> // this is a magic incantation which must be done!
WX_DEFINE_OBJARRAY(TMoveArray);
#include "TRunThread.h"
/* ...Code... */
私もWX_DEFINE_OBJARRAY
ディレクティブで試してみた:
#ifndef TRUNTHREAD_H_INCLUDED
#define TRUNTHREAD_H_INCLUDED
#include <wx/wx.h>
#include "TMainFrame.h"
// doesn't work: WX_DECLARE_OBJARRAY(TMove, TMoveArray);
class TRunThread : public wxThread
{
public:
wxThreadError Create(TMoveArray moves);
};
#endif // TRUNTHREAD_H_INCLUDED
ソースファイルTRunThread.cpp
(GCC 'TMoveArrayは'を宣言されていません)。
質問: wxObjArrayを正しくインクルードするにはどうすればよいですか?
正確なコンパイラエラーは何ですか? dynarray.hを読んだことがありますか?WX_DECLARE_OBJARRAYの使い方について - あなたはarrimpl.cppについて言及していませんか? – tinman
投稿を更新しました。私はソースファイル(TMainFrame.cppとTRunThread.cpp)にarrimpl.cppを含めます。 – ComFreek