我想计算一个文件的行,然后对它做一些事情。我决定提取将行计数为单独函数的逻辑。
unsigned int countLines(std::ifstream in)
{
string line;
int lineCount = 0;
while(getline(in, line))
++lineCount;
return lineCount;
}
在定义任何函数之前,我声明了函数的原型。然而,编译器抱怨"以前删除了#unsigned int countLines(std :: ifstream)'但谷歌搜索我无法在ifstream中找到任何实际的countLines函数。为什么会这样?
文件的顶部#include <cstdlib>
#include <iostream>
#include <fstream>
没有头文件。
我称之为const
ifstream inFile(filename);
unsigned int vehichles = countLines(inFile);
并提供警告说明:综合方法'std:basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)' first required here
答案 0 :(得分:3)
您无法按值传递流。