基本上,我必须为我的 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)
所以,我需要打印出 struct tk 中的值,无论是 int 还是 char。当我不知道变量是操作数还是符号时,如何访问联合中包含的内容?谢谢。