标题的constroctor在它应该结束之前结束
问题描述:
由于某些原因,我的makefile不能编译。它所说的错误在我的头文件中。标题的constroctor在它应该结束之前结束
Alignment.hh:34:22 error: expected ')' before '&' token
调用应该是使用引用,这是我在调用此函数时所使用的引用。
这是我Alignment.hh文件
#ifndef encod
#define encod
class Encoded
{ private:
Direct &origin;
char *subinsertion;
int subinsertlen;
struct Edit *operation;
int editnum;
string dname;
int dlength;
int gaplen;
public:
Encoded(Alignment &obj);
~Encoded();
int getEditNum() const;
struct Edit* getOperation() const;
int getSubInsertLen() const;
char* getSubInsertion() const;;
int getDLength() const;
string getDName() const;
Direct& getOrigin() const;
string toString() const;
char* getDSeq() const;
int getNumDiff();
bool operator<=(Encoded &rightobj)const;
};
class Compressed : public Encoded {
private:
Encoded encode;
public:
Compressed(Alignment &obj);
bool operator <=(Encoded &rightobj) const;
};
#endif
答
尝试编译这个
#ifndef encod
#define encod
class Direct;
class Alignment;
class Encoded
{ private:
Direct &origin;
char *subinsertion;
int subinsertlen;
struct Edit *operation;
int editnum;
string dname;
int dlength;
int gaplen;
public:
Encoded(Alignment &obj);
~Encoded();
int getEditNum() const;
struct Edit* getOperation() const;
int getSubInsertLen() const;
char* getSubInsertion() const;;
int getDLength() const;
string getDName() const;
Direct& getOrigin() const;
string toString() const;
char* getDSeq() const;
int getNumDiff();
bool operator<=(Encoded &rightobj)const;
};
class Compressed : public Encoded {
private:
Encoded encode;
public:
Compressed(Alignment &obj);
bool operator <=(Encoded &rightobj) const;
};
#endif
+0
没有说明问题解决方案,OP应该如何从这样的答案中学习? – zoska 2014-12-03 09:23:50
您还没有宣布'Direct'或'Alignment'。 – juanchopanza 2014-12-03 06:44:04
'class Direct;'添加前向声明 – Blacktempel 2014-12-03 06:44:55