6
내가 cout
통해 범위 생성자 다음 출력을 사용하여 vector<string
에 텍스트 파일의 모든 라인을로드 할 :벡터 범위 생성자를 올바르게 사용하는 방법은 무엇입니까?
#include<iostream>
#include<fstream>
#include<vector>
#include<iterator>
using namespace std;
int main()
{
ifstream file("file.txt");
vector<string> strings(istream_iterator<string>(file) , istream_iterator<string>());
for(auto s : strings)
cout << s << endl;
return 0;
}
예를 들어, 나는 몇 가지 오류를 얻을 수 위의 코드를 컴파일하려고 :
error: no matching function for call to ‘begin(std::vector<std::basic_string<char> > (&) (std::istream_iterator<std::basic_string<char> >, std::istream_iterator<std::basic_string<char> > (*) ()))’
for(auto s : strings)
^
여러 다른 ...
나는 사람이 도움을 주시기 바랍니다 수 있습니다, 내가 여기에 분명 뭔가 빠진 것 같아요?
[Most Vexing Parse] (http://en.wikipedia.org/wiki/Most_vexing_parse)를 참조하십시오. – chris
도움이 될 수도 있습니다 : http://stackoverflow.com/questions/7007817/a-confusing-detail-about-most-vexing-parse – templatetypedef
알겠습니다. 이 질문을 삭제하거나 직접 답변해야합니까? – JLagana