RAOperator
yacc を使用して 1 つのファイルを解析し、yacc を使用してクラス オブジェクトにレコードを格納しています。対応するヘッダー ファイルを yacc ファイルにRAOperator
インクルードし、yacc ファイルの %union ディレクティブでオブジェクトへのポインターを定義しました。しかし、コンパイルすると、次のようなエラーが発生します。
exp.y:12:28: error: expected type-specifier before ‘;’ token
RAoperatorクラスでユニオンを使ったyaccファイルを添付します。
%{
#include "RA.h"
#include"y.tab.h"
%}
%union
{
char *strng;
vector<string> *atr;
RAoperator* asdf; // This is where error is shown
vector < vector <string> > *table;
}
これは、RAoperator が定義されている RA.h ファイルです。
class RAoperator
{
public:
vector< vector<string> > RArelation;
vector< vector<string> > RAattr;
};
必要なすべてのヘッダー ファイルを RA.h ファイルに含めました。
このエラーをよく検索しましたが、解決策が見つかりませんでした。
どこで間違ったのですか?