为什么我会收到此错误:'&'之前预期')'令牌?

时间:2013-02-11 00:09:37

标签: c++ compiler-errors

我认为它与#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);
    }
}

感谢您的时间。

2 个答案:

答案 0 :(得分:6)

很难在没有看到标题的情况下完全回答这个问题,但如果这是一个函数,则需要在函数定义中添加void的返回类型:

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

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

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

答案 1 :(得分:1)

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