私はプロのプログラマーではないので、遠慮なく明白に述べてください。
私の目標は、呼び出されたstd::multiset
コンテナ( )を使用して、型の構造体のリストを整理し、クラスのメンバーに新しい構造体を時々追加させることです。構造体は、メンバーの1人である時間によってソートされることになっています。私がやろうとしていることのどれだけが合法であるかはわかりません。g ++コンパイラは(「Host.h」で)「エラー:'EventMultiSet'は宣言されていません」と報告します。これが私がしていることです:typedef EventMultiSet
currentEvents
Event
Host
Event
currentEvents
// Event.h
struct Event {
public:
bool operator < ( const Event & rhs ) const {
return ( time < rhs.time );
}
double time;
int eventID;
int hostID;
};
// Host.h
...
void calcLifeHist( double, EventMultiSet * ); // produces compiler error
...
void addEvent( double, int, int, EventMultiSet * ); // produces compiler error
// Host.cpp
#include "Event.h"
...
// main.cpp
#include "Event.h"
...
typedef std::multiset< Event, std::less< Event > > EventMultiSet;
EventMultiSet currentEvents;
EventMultiSet * cePtr = ¤tEvents;
...
主な質問
- EventMultiSet typedefをどこに含める必要がありますか?
- 私のEventMultiSetポインターは明らかに問題がありますか?
- 私のイベント構造体内の比較関数は(理論的には)大丈夫ですか?
事前にどうもありがとうございました。