栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++ minicsv库的编译错误与解决方案

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++ minicsv库的编译错误与解决方案

有一个项目需要写csv文件以呈现数据。Github上有一个关于csv的轻量级读写库minicsv,于是下载之。但是编译example时出现了以下问题:

In file included from example.cpp:1:0:
minicsv.hpp: In function 'csv::ofstream& operator<<(csv::ofstream&, const T&)':
minicsv.hpp:326:38: error: no matching function for call to 'csv::ofstream::escape_and_output(std::basic_ostringstream::__string_type)'
ostm.escape_and_output(os_temp.str());
^
minicsv.hpp:326:38: note: candidate is:
minicsv.hpp:266:8: note: void csv::ofstream::escape_and_output(std::string&)
void escape_and_output(std::string & src)

...

  错误很多,不再贴出,占用篇幅。这些错误都来自于同一个函数头。这个函数头是这样定义的:

    void escape_and_output(std::string & src)

  而调用时是这个样子:

    ostm.escape_and_output(os_temp.str());

  很明显,调用时的函数头所要求的是右值引用,而真正的函数头给出的左值引用,两者不符,于是编译器报错。修改很简单,“&”改为“&”即可,即把函数头改成这个样子:
    void escape_and_output(std::string & src)
  错误很水,本来也不想写出来,但是又怕对c++0x不熟悉的人会不知所措,故贴之。还有我不知道为何项目中会留下这么个显而易见的错误——或许那个老大的编译器太智能了吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/64065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号