【发布时间】:2016-04-08 09:38:16
【问题描述】:
我正在尝试以有组织的方式打印地图。我的地图是这样定义的:
map<std::string,std::vector<message *> > data;
其中 message 是这样的结构:
struct message{
static unsigned int last_id;
unsigned int id;
std::string msg;
std::string timestamp;
message(const std::string& recvbuf_msg,const std::string& a_timestamp) :
msg(recvbuf_msg), timestamp(a_timestamp), id(++last_id)
{
}
};
我试过这种打印方式:
std::cout << (data[username]).at(0)->msg << std::endl;
但是在到达该功能时它会出现调试错误,我该如何解决?
【问题讨论】:
-
好吧,它给出了哪个错误?
-
R6010 - abort() 已被调用
-
“我该如何解决?”您可以使用调试器找到错误,然后您可以修复它。
-
我使用调试器发现错误在那个 cout 上。
-
然后使用调试器检查
(data[username]).at(0)->msg是否有效,然后再计算它
标签: c++ dictionary printing cout