Я разрабатываю программу на C ++ для связи через Socket.IO, и я ссылаюсь на пример консоли . В строке 77-78 у нас есть следующие утверждения:
string user = data->get_map()["username"]->get_string();
string message = data->get_map()["message"]->get_string();
Если я перейду к sio_message.h в строке 101, у нас есть определение метода карты, как показано ниже. В строке 103 это оператор assert(false)
, который вызывает сбой моей программы. Может ли кто-нибудь просветить меня, почему это assert(false)
утверждение присутствует.
virtual std::map<std::string,message::ptr>& get_map()
{
assert(false); ///why this???
static std::map<std::string,message::ptr> s_empty_map;
s_empty_map.clear();
return s_empty_map;
}
Мой код:
void Socket_IO::receive_listener(std::string const&name, sio::message::ptr const& data, bool hasAck, sio::message::list &ack_resp)
{
spdlog::info("Data Recieved : " + data->get_map()["message"]->get_string()); // I am getting an Socket.IO exception here
spdlog::info("Message Name : " + name);
}