C ++ undefined引用带队列参数的函数

时间:2014-07-06 22:01:01

标签: c++ function parameters reference undefined

我创建了一个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;

并不能为我的生活弄清楚为什么。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您的会员功能定义缺少班级&#39;范围:

Fraction Fraction::evaluateInfix( queue<string> & infixQueue )
         ^^^^^^^^^^