Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我似乎不太明白为什么这不起作用。我试图创建一个指针类型队列,但失败了。我有一个教室,我想制作一个指向房间的指针队列..所以我做了:
queue<*Room> bfsRooms;
这给了我错误:
`*' 不能出现在常量表达式中
这是否意味着不可能创建一个 STL 指针队列?
不,应该没问题,您应该真正链接确切的代码和确切的错误,以便我们可以更好地帮助您。
也就是说,指针队列看起来像这样:
Room r; std::queue<Room*> rooms; rooms.push(&r);
编辑:值得注意的是,如果这些指针拥有它们指向的对象,则应该真正将指针封装在智能指针中,例如:
std::queue<std::unique_ptr<Room>> rooms;
这遵守了RAII原则,会自动清理资源。