使用std :: map :: at时出错

时间:2016-04-07 09:01:01

标签: c++ pointers dictionary vector push-back

我的地图定义为:

map<std::string,std::vector<message *> > data;

std::string指的是与特定用户名对应的消息的用户名(主键)和std::vector<message *>。 Message是一个包含消息ID,时间和消息文本的结构。因此,为了推回另一条消息,我使用以下代码:

std::vector<message *> messages = data.at[recvbuf_usrn];
messages.push_back(new message(*recvbuf_msg,currentDateTime()));
data[*recvbuf_usrn] = messages;

但是我收到了错误:

error C3867: 'std::map<_Kty,_Ty>::at': function call missing argument list; use '&std::map<_Kty,_Ty>::at' to create a pointer to member

其中recvbuf_usrn和recvbuf_msg的定义如下:

std::string *recvbuf_usrn=new std::string;
std::string *recvbuf_msg=new std::string;

我该如何解决?

0 个答案:

没有答案