> 백엔드 개발 > C#.Net 튜토리얼 > C++ minisv 라이브러리의 컴파일 오류 및 해결 방법

C++ minisv 라이브러리의 컴파일 오류 및 해결 방법

黄舟
풀어 주다: 2016-12-14 16:54:27
원래의
1398명이 탐색했습니다.

데이터를 표시하기 위해 csv 파일을 작성해야 하는 프로젝트가 있습니다. Github에는 minicsv라는 csv용 경량 읽기 및 쓰기 라이브러리가 있어서 다운로드했습니다. 그러나 예제를 컴파일할 때 다음과 같은 문제가 발생했습니다.

example.cpp:1:0:
minicsv.hpp에 포함된 파일에서: 함수에서 'csv::ofstream& 연산자<<(csv::ofstream&, const T&)':
minicsv.hpp:326:38: 오류: 호출에 일치하는 함수가 없습니다. 'csv::ofstream::escape_and_output(std::basic_ostringstream::__string_type)'
ostm.escape_and_output(os_temp.str());
^
minicsv.hpp:326:38: 참고: 후보는:
minicsv.hpp:266:8: 참고: 무효 csv::ofstream::escape_and_output(std::string&)
공허 escape_and_output(std::string & src)

...

 오류가 많아서 더 이상 올리지 않고 용량을 차지하겠습니다. 이러한 오류는 모두 동일한 함수 헤더에서 발생합니다. 함수 헤더는 다음과 같이 정의됩니다:

 void escape_and_output(std::string & src)

호출은 다음과 같습니다.

ostm.escape_and_output(os_temp.str())

분명히 호출할 때 함수 헤더가 필요합니다. rvalue 참조 와 실제 함수 헤더에 제공된 lvalue 참조가 일치하지 않으므로 컴파일러에서 오류를 보고합니다. 수정은 매우 간단합니다. "&"를 "&"로 변경하면 됩니다. 즉, 함수 헤더를 다음과 같이 변경하면 됩니다.
void escape_and_output(std::string & src)
오류가 너무 뻔해서 처음에는 적고 싶지 않았지만, c++0x에 익숙하지 않은 분들이 헤맬까 봐 포스팅하게 되었습니다. 또한 프로젝트에 왜 그렇게 명백한 오류가 있는지 모르겠습니다. 아마도 상사의 컴파일러가 너무 똑똑할 수도 있습니다.

더 많은 관련 글은 PHP 중국어 홈페이지(m.sbmmt.com)를 주목해주세요!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿