对带有队列参数的函数的未定义引用

C++ undefined reference to function with queue parameter

本文关键字:函数 引用 未定义 参数 队列      更新时间:2023-10-16

我已经创建了一个用于tokenize和字符串输入的类。它将字符串的组成部分转换为字符串队列,如下所示:

queue<string> Fraction::Tokenize( const string & infixExpression )
{
    queue<string> tokens;
    string currentToken;
    for( char currentChar : infixExpression )
    {
       currentToken += currentChar;
    }
    tokens.push(currentToken);
    return tokens;
}

这是一个接受queue作为参数的函数:

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 > &)'

我怎么也想不出为什么。谢谢你的帮助。

您的成员函数定义缺少类的作用域:

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