基本的に、tokenType 構造体の << 演算子をオーバーロードする必要があります。これは次のようになります (変更できません。この方法で使用する必要があります)。
struct tokenType
{
int category ; // one of token categories defined above
union
{
int operand ;
char symbol ; // '+' , '-' , '*' , '/' , '^' , '='
} ;
int precedence() const ;
}
オーバーロード メソッドのヘッダーは次のとおりです。
ostream & operator<< ( ostream & os , const tokenType & tk)
したがって、構造体 tk の値 (int または char) を出力する必要があります。変数がオペランドなのかシンボルなのかがわからない場合、共用体に含まれているものにアクセスするにはどうすればよいですか? ありがとう。