-1

完整的错误信息:

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、、、、intdoublestring

有关如何声明parseLine以使其执行我想要的操作的任何指示?


尝试在某个地方下载一个您知道永远不会移动的文件(www.google.com),并且您已经知道其内容(这是困难的部分)。

将下载的内容与应下载的内容进行比较,您就会知道您是否在某个身份验证页面上。

4

1 回答 1

1

parseLine()必须返回一个vector<string>

vector<string> parseLine(string s, char i);

如果它应该适合第 61 行。但是由于您返回 atoken它也可能是

vector<token> parseLine(string s, char i);

你的意图。

于 2012-11-15T05:56:05.967 回答