C ++没有在构造函数定义中命名类型

时间:2015-04-14 16:20:18

标签: c++ constructor compilation

我尝试编译我的代码,我很确定我在我的标题或编译中犯了一个错误,但我不明白在哪里。我知道这是一个基本问题,我读了一些其他话题,但我真的不明白。我看了一些我写的其他代码,但我没有看到任何差别...

g++ -c main.cpp -o out

我不明白错误,所以我也试试:

g++ -c readFastqFile.cpp

错误

readFastqFile.cpp:8:1: error: ‘readFastq’ does not name a type
 readFastq::readFastq(){ //Constructor

我的档案是:

的main.cpp

    #include <iostream>
    #include <string>

    #include "readFastqFile.hpp"

using namespace std;

int main(int argc, char *argv[]){
    cout << "hello" <<endl;
    //readFastq allReads;
    return 0;
}

readFastqFile.hpp

#ifdef READFASTQFILE_HPP
#define READFASTQFILE_HPP

#include <iostream>
#include <string>

using namespace std;

class readFastq{
    public:
        readFastq(); //constructor

    private:
        string readName;
        string sequence;
        string score;
};
#endif // READFASTQFILE_HPP

readFastqFile.cpp

 #include <string>
    #include <iostream>
#include "readFastqFile.hpp"

using namespace std;

readFastq::readFastq(){ //Constructor
    readName = "bla";
    cout << readName <<endl;
}

由于

1 个答案:

答案 0 :(得分:4)

#ifdef READFASTQFILE_HPP应为#ifndef READFASTQFILE_HPP#ifdef导致readFastqFile.hpp的内容被忽略,因此没有编译类定义。

另见Include guards