なぜこれがうまくいかないのか理解できないようです。ポインタ型のキューを作成しようとしましたが、失敗しました。私はクラスルームを持っていて、ルームへのポインターのキューを作成したいので、次のようにしました。
queue<*Room> bfsRooms;
これは私にエラーを与えました:
`*'は定数式に含めることはできません
これは、ポインタのSTLキューを作成することが不可能であることを意味しますか?
いいえ、問題はありません。正確なコードと正確なエラーを実際にリンクして、より適切にサポートできるようにする必要があります。
つまり、ポインタのキューは次のようになります。
Room r;
std::queue<Room*> rooms;
rooms.push(&r);
編集:これらのポインターがそれらのオブジェクトを所有している場合、それらが指しているのは、実際にはポインターをスマートポインターにカプセル化する必要があることに注意してください。
std::queue<std::unique_ptr<Room>> rooms;
これはRAIIの原則に従い、リソースを自動的にクリーンアップします。