4

我认为它与#includes 有关,但这是我第一次尝试使用它们,所以我有点迷茫。我只是想知道是否有人可以立即判断是否有明显的错误。

 /** @file Translator.cpp */

#include <fstream>
#include "Translator.h"
#include <vector>

Translator(std::ifstream& fin)  //error appears on this line
{
    T1(fin);
    T1.createTable(fin);
    T2(fin);
    T2.createTable(fin));
    string temp;
    while(!fin.eof())
    {
    fin >> temp;
    message.push_back(temp);
    }
}

谢谢你的时间。

4

2 回答 2

7

不看标题很难准确回答这个问题,但如果这是一个函数,则需要在void函数的定义中添加一个返回类型:

void Translator(std::ifstream& fin) {
    ...
}

如果这是一个构造函数,则需要提供其限定名称:

Translator::Translator(std::ifstream& fin) {
    ...
}
于 2013-02-11T00:12:50.883 回答
1

没有Translator它的声明有点难说,但如果它是一个构造函数,那么它应该是Translator::Translator(std::ifstream& fin). 如果它是一个方法,那么它应该有一个指定的返回类型,比如void Translator(std::ifstream& fin).

于 2013-02-11T00:16:19.833 回答