我创建了一个Tokenizes和字符串输入的类。它将字符串的组件转换为字符串队列,如下所示:
queue<string> Fraction::Tokenize( const string & infixExpression )
{
queue<string> tokens;
string currentToken;
for( char currentChar : infixExpression )
{
currentToken += currentChar;
}
tokens.push(currentToken);
return tokens;
}
这是将队列作为参数的函数:
Fraction evaluateInfix( queue<string> & infixQueue )
{
//code goes here
}
但是,当我从构造函数中调用这些函数时:
Fraction::Fraction( const string &infix )
{
queue<string> myQueue = Tokenize(infix);
*this = evaluateInfix(myQueue);
}
我收到以下错误:
Fraction.cpp :(。text + 0x1fd):未定义引用`Fraction :: evaluateInfix(std :: queue&lt; std :: string,std :: deque&lt; std :: string,std :: allocator&lt; ; std :: string&gt;&gt;&gt;&amp;)&#39;
并不能为我的生活弄清楚为什么。谢谢你的帮助。
答案 0 :(得分:1)
您的会员功能定义缺少班级&#39;范围:
Fraction Fraction::evaluateInfix( queue<string> & infixQueue )
^^^^^^^^^^