C ++可变范围问题

时间:2016-03-08 00:18:19

标签: c++ scope compiler-errors

我试图在c ++中实现单链表,而且我遇到了很多范围问题,我不知道为什么。我收到了// class User public function scopeOfFullNameLike($query, $fullName) { return $query->whereRaw('CONCAT(name_first, " ", name_last) LIKE "%?%"', [$fullName]); } // ... User::ofFullNameLike('john doe')->get();

等错误

这是我的.h文件

LinkedList.cpp:28:11: error: ‘class LinkedList’ has no member named ‘current’ if(this->current == NULL)

这是我的cpp文件(我有更多的问题,特别是关于LinkedList的实现,但我更关心当前的编译错误)

#ifndef LINKEDLIST_H
#define LINKEDLIST_H

class Node
{
    friend class LinkedList;
private:
    int data;
    Node* next;
    Node* getNext() { return this->next; };
public:
    Node() { data = 0; next = NULL; };
    void setData(int data) { this->data = data; };
    void setNext(Node* next) { this->next = next; };
};

class LinkedList
{
private:
    Node* head;
    Node* current;
public:
    LinkedList() { head = current = NULL; };
    //LinkedList(const LinkedList &l)
    //TO DO: Destructor
    void next();
    void reset();
    void append(int data);
    void replaceData(int data);
    void removeNode(int data);
    void removeLast();
    bool reset();
    void operator++() { next(); };
};

#endif

我意识到我很可能错过了一些非常明显的东西,但我无法想象这一点来挽救我的生命。

1 个答案:

答案 0 :(得分:2)

void reset();
bool reset();

函数不能通过返回类型重载。

void LinkedList::removeNode(int data)
{
    if (this->current->getData() == data) break;
}

您的node课程没有getData()功能。

我已经通过修复这两个问题the spec成功编译了您的代码。

如果这还不够,那么你可能根本就不包括LinkedList标题。