首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用spdlog打印std::map

如何使用spdlog打印std::map
EN

Stack Overflow用户
提问于 2020-04-26 06:47:02
回答 1查看 1.7K关注 0票数 0
代码语言:javascript
复制
int main()
{
    std::map<std::string, std::string> o;
    o["foo"] = "foo value";
    spdlog::info(o);
    return 0;
}

Got错误: static_assert由于需求' formattable‘而失败“不能格式化参数。

EN

回答 1

Stack Overflow用户

发布于 2020-05-07 20:35:39

spdlog只支持具有operator <<的类型(使用#include <fmt/ostream.h>)

你有两个选择:

实现函数:std::ostream& operator <<(std::ostream&, const std::map<std::string, std::string>&)

  • Log键和循环中的值:

代码语言:javascript
复制
for (const auto&[k, v] : o)
{
    spdlog::info("key is {}, value is {}", k, v);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61436835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档