週期性包含問題C++錯誤:正向聲明'struct ...?
我向前聲明中的其他的報頭中的一個類,試圖解決他們的週期性列入。這裏是我的兩個文件:
的第一個文件(Parameter.h):
#pragma once
#include "Token.h"`
class Expression;
class Parameter {
public:
Parameter() {
string = new Token();
identifier = new Token();
expr = new Expression();
}
Token* string;
Token* identifier;
Expression* expr;
};
第二個文件(Expression.h):
#pragma once
#include "Token.h"
#include "Parameter.h"
class Expression {
public:
Expression() {
param1 = new Parameter();
param2 = new Parameter();
op = new Token();
}
Expression(Parameter* p1, Token* o, Parameter* p2) {
param1 = p1;
param2 = p2;
op = o;
}
Parameter* param1;
Parameter* param2;
Token* op;
};
正如你所看到的,我在Parameter.h中聲明Expression,但是我仍然收到以下兩個錯誤:
forward declaration of 'struct Expression'
invalid use of incomplete type 'struct Expression'
我看了幾個以前發佈的問題,但仍然無法解決這個問題。謝謝。
它的工作!謝謝。 – amorimluc 2013-02-20 23:43:22