我正在尝试将我的行计数功能转移到一个类中,但是,我遇到了一些错误,而且我不知道如何让它工作。
class lines {
string name;
int number_of_lines;
string line;
public:
void set_value (string n);
ifstream myfile(name); //C2061: syntax error : identifier 'name'
while (getline(myfile, line)) //Multiple markers at this line - C2059: syntax error : 'while', - Syntax error
{ // C2334: unexpected token(s) preceding '{'; skipping apparent function body
++number_of_lines;
}
int row() {return number_of_lines;}
};
void lines::set_value (string n) {
number_of_lines=0;
name = n;
}
我将错误作为评论添加到他们显示的行中。
答案 0 :(得分:1)
更改代码
string line;
public:
void set_value (string n);
ifstream myfile(name); //C2061: syntax error : identifier 'name'
while (getline(myfile, line)) //Multiple markers at this line - C2059: syntax error : 'while', - Syntax error
{ // C2334: unexpected token(s) preceding '{'; skipping apparent function body
++number_of_lines;
}
到:
public:
void set_value (string name)
{
ifstream myfile(name);
string line;
while (getline(myfile, line))
{
++number_of_lines;
}
myfile.close();
}
答案 1 :(得分:0)
无论你在C ++中做什么操作/计算都必须在某个函数中,这里你在类中使用必须在某个函数内的下面语句。
ifstream myfile(name); //C2061: syntax error : identifier 'name'
while (getline(myfile, line)) //Multiple markers at this line - C2059: syntax error : 'while', - Syntax error
{ // C2334: unexpected token(s) preceding '{'; skipping apparent function body
++number_of_lines;
}