您在那儿。完成后,您需要在头文件中声明函数。
缺少的步骤是,您不需要在类主体中定义函数,而是需要在类声明下使用带有作用域解析运算符和内联运算符的类名称来定义它们。
您缺少的另一部分是,您在Queue类中声明了可能用于QueueNode结构的函数。
class Queue{
private:
struct QueueNode{
int size;
std::string party;
QueueNode *next;
};
QueueNode *front;
QueueNode *rear;
public:
// Constructor
Queue();
// Destructor
~Queue();
// Queue operations
std::string getPartyName( const QueueNode * const node ) const;
int getSize( const QueueNode * const node ) const;
void setPartyName( QueueNode & out_node,std::string & p);
void setSize( QueueNode & out_node,int s);
};
inline std::string Queue::getPartyName( const QueueNode * const node ) const
{
return node->party;
}
inline int getSize( const QueueNode * const node ) const {
return node->size;
}
inline void Queue::setPartyName( QueueNode & out_node,std::string & p) {
out_node.party = p;
}
inline void Queue::setSize( QueueNode & out_node,int s) {
out_node.size = s;
}
尚不清楚您打算为哪些节点设置这些值,因此我将在一些假设的情况下填写这些函数。
无论哪种方式,我认为您都明白。如果要在标头类中定义内联函数,则不能在类本身中定义主体。您必须在类主体之外内联声明它,这是编译器建议。我知道我还没有完全定义链表的功能,我将留给您。但是,这应该可以回答内联问题。
本文链接:https://www.f2er.com/3147402.html