C++ stl を使用するプログラムを作成しましたset
。セットがstruct event
構築されている元の と、それに対応するbinary predicate
..struct comp
があり、セット内のそれらの間の順序を定義します。
コード部分は次のようになります。
struct event
{
int s;
int f;
int w;
set<event,comp>::iterator nxt;
};
struct comp
{
bool operator()(event a, event b)
{
if(a.f!=b.f)
return a.f<b.f;
else
{
if(a.s!=b.s)
return a.s<b.s;
else
return a.w>b.w;
}
}
};
set< event , comp > S;
ここで直面している問題は、どの構造体を最初に記述するかということです。両方の構造体を前方宣言しようとしました。どちらの場合もコンパイル エラーが発生します。