를 사용하여 << 연산자를 재정의 오류 : 구조체) 불행하게도내가 내에 포함되어 무엇을 인쇄하려면 다음 두 가지 방법을 작성해야하는 두 가지 방법
, 나는 말한다 컴파일 오류가 무엇입니까 [] â AEX에서 âoperator 아무 짝을 [내가] â
나는이 문제를 해결할 수있는 방법 그래서 있도록 < < 우선합니다 두 번째 방법은 첫 번째? 자세한 후
ostream & operator<< (ostream & os , const tokenType & tk)
{
switch (tk.category)
{
case TKN_OPRAND:
os << tk.operand;
break;
case TKN_OPRTOR:
os << tk.symbol;
break;
}
return os;
}
ostream & operator<< (ostream & os , const expression & ex)
{
tokenType tk;
for (int i = 0; i < ex.numTokens; i++)
{
tk = ex[i];
os << tk.operand << " "; //problem line is this one
}
return os;
}
struct expression
{
int numTokens ;
tokenType tokens[MAX_TOKENS_IN_EXPRESSION] ;
void print() const ;
int toPostfix(expression & pfx) const ;
int evalPostfix(int & val) ;
expression() { numTokens = 0 ; } ; // default constructor
} ;
. http://msdn.microsoft.com/en-us/library/1z2f6c2k(v=vs.80).aspx – prelic
제 생각에는 컴파일러가 0에서 줄을 긋을 것입니다. 그래서 여러분은 한 줄 씩 벗어났습니다. 줄의 첫 줄에 오류가 있습니다. 위의 "문제가 있습니다." 'expression'은'[] '연산자를 정의합니까? 구현을 보여줄 수 있습니까? – dasblinkenlight
물론, 위의 편집을하겠습니다. – rfmas3