전체 오류 메시지 요청 :오류 '가 아닌 스칼라 유형'무효 '표준 : : 벡터의 변환 <표준 : : basic_string <문자, 표준 : : char_traits는
error: conversion from 'void' to non-scalar type 'std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >' requested
1 #include <iostream>
2 #include <iomanip>
3 #include <fstream>
4 #include <vector>
5 using namespace std;
6
7 token parseLine(string s, char i);
53 int main()
54 {
55 string line;
56 char delim = '|';
57 ifstream inputStream("test.txt");
58
59 while(getline(inputStream, line))
60 {
61 vector<string> tokens = parseLine(line, delim);
62 if(tokens[0][0] != '#')
63 {
64 cout << tokens[0];
65 cout << tokens[1];
66 cout << tokens[2];
67 }
68 }
69 }
를하시기 바랍니다 8-52 줄을 건너 뛰십시오. "작동하지 않는 항목"으로 주석 처리되었습니다.
내가 parseLine
를 선언하는 방법을 잘 모르겠어요, 아무것도 내가 작품을 시도 : void
, int
, double
, string
등;
내가 원하는대로 parseLine
을 선언하는 방법에 대한 지침이 있으십니까? 이 라인 (61)에 적합하지만 이후 token
을 반환해야하는 경우
vector<string> parseLine(string s, char i);
그것은 또한 당신이 의도
vector<token> parseLine(string s, char i);
수 있습니다 :
결과를 할당 할 것이므로'std :: vector parseLine (string s, char i);'를 원할 것입니다. –
chris
'parseLine'은 무엇을 반환합니까? 그리고 함수가 반환하는 객체는 함수 내에서 어떻게 선언됩니까? – jogojapan
라인 61은 많은 정보를 제공합니다 ... – billz