- 相关推荐
c++ minicsv库的编译错误与解决方案
C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。下文是为大家精选的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<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++ minicsv库的编译错误与解决方案】相关文章:
C++调用C函数的方法11-15
C++如何调用matlab函数06-29
C语言编译器和IDE的选择之间的关系10-18
C++中时间与时间戳的转换04-21
c语言、c++语言两者的区别和联系08-17
计算机二级C++模拟试题及答案02-06
科目二倒库时车身紧贴库边线怎么办03-20
全国计算机二级《C++》上机试题及答案03-28
全国计算机二级考试C++真题03-21
全国计算机二级考试《C++》笔试样卷06-12