我unordered_map
在我当前的 C++ 项目中使用了一个并且有以下问题:
当我将一对对象插入 中unordered_map
时,程序中断,Windows 向我显示它是“[...].exe 已停止工作”,而没有在控制台 (cmd) 上给我任何信息。一些示例代码:
#include <unordered_map>
#include <network/server/NetPlayer.h>
#include <gamemodel/Player.h>
int main(int argc, char **argv) {
NetGame game;
boost::asio::io_service io_service;
NetPlayerPtr net(new NetPlayer(io_service, game));
PlayerPtr player(new Player);
std::unordered_map<PlayerPtr, NetPlayerPtr> player_map;
// Here it breaks:
player_map[player] = net;
return 0;
}
我已经尝试过的:
我尝试用 try-catch 换行,但没有成功。
有关代码的详细信息:
NetPlayerPtr 和 PlayerPtr 是boost::shared_ptr
对象,前者包含一些boost::asio
对象,如io_service
和socket
,后者包含几个自定义对象。
我正在使用在 64 位 Windows 上启用 C++11 的 MinGW gcc 进行编译。
如果需要更多详细信息,请询问。