手机
当前位置:查字典教程网 >编程开发 >C语言 >c++ minicsv库的编译错误与解决方案
c++ minicsv库的编译错误与解决方案
摘要:有一个项目需要写csv文件以呈现数据。Github上有一个关于csv的轻量级读写库minicsv,于是下载之。但是编译example时出现了...

有一个项目需要写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<char>::__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不熟悉的人会不知所措,故贴之。还有我不知道为何项目中会留下这么个显而易见的错误——或许那个老大的编译器太智能了吧。

【c++ minicsv库的编译错误与解决方案】相关文章:

C++Primer笔记之顺序容器的使用详解

c++ map,mutimap删除问题分析

C++中const的用法详细总结

c++大数阶乘的实现方法

C++读写Excel的实现方法详解

VC6.0常见链接错误与解决方法

atoi和itoa函数的实现方法

基于WTL中使用双缓冲避免闪烁的解决方法

c++中const的使用详解

基于typedef的用法详解

精品推荐
分类导航