なぜC++はそのようなことを許可しないのですか?
複数の優先キューが必要です。その数は実行時に決定されます。
これはコンパイルに失敗します
std::vector<std::priorityqueue<Class A>>
。
より良いアプローチはありますか?
なぜC++はそのようなことを許可しないのですか?
複数の優先キューが必要です。その数は実行時に決定されます。
これはコンパイルに失敗します
std::vector<std::priorityqueue<Class A>>
。
より良いアプローチはありますか?
正しいコードは次のようになります。
std::vector<std::priority_queue<A> >
Class
は の隣に属さずA
、priority_queue
アンダースコアが含まれており、2 つの右山括弧の間にはスペースが必要であることに注意してください (>>
は右シフト演算子として解析されます)。
A
これには、同等以下である必要もあります(そうでない場合は、優先度キューで使用される比較関数を提供する必要があります)。
これで問題なく動作するはずです。構文は次のとおりです。
std::vector<std::priority_queue<A> >
(末尾近くのスペース (" ") に注意してください。