現在の C++ プロジェクトでを使用しunordered_map
ていますが、次の問題があります。
オブジェクトのペアを に挿入するとunordered_map
、プログラムが中断し、Windows はコンソール (cmd) に関する情報を提供せずに、「[...].exe が動作を停止しました」と表示します。いくつかのコード例:
#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でコンパイルしています。
詳細が必要な場合は、お問い合わせください。