在令牌错误之前预期的非限定id

时间:2013-02-17 16:04:55

标签: c++

我从C ++开始,我无法弄清楚这一点。我有三个类,我正在尝试实现一个队列。 (无论现在是否有效,我只需要修复此错误)

#include <cstdlib>
#include <iostream>
#include "queue.h"

using namespace std;

int main(int argc, char** argv) {

    queue fronta();

    queue.add(10); // <- expected unqualified-id before ‘.’ token
}

queue.h:

#ifndef QUEUE_H
#define QUEUE_H

#include "queueItem.h"

class queue {
private:
    queueItem* first;
    queueItem* last;

public:
    queue();
    void add(int number);
    int get(void);
    bool isEmpty();
};

#endif  /* QUEUE_H */

queueItem.h:

#ifndef QUEUEITEM_H
#define QUEUEITEM_H

class queueItem{
private:
    int value;
    queueItem* next;

public:
    queueItem(int value);

    int getValue();
    queueItem* getNext();
    void setNext(queueItem* next);
};

#endif  /* QUEUEITEM_H */

从我用Google搜索,它通常与外来分号,括号等有关。

我找不到各种各样的东西

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

您无法在类类型.add()上调用queue,您需要在您创建的对象上调用它!在您的情况下,那将是fronta.add(10);

此外,您创建fronta的语法错误。使用queue fronta;

答案 1 :(得分:2)

queue fronta();声明一个返回类型为queue的对象并且不带参数的函数。这可能不是你想要的。请改用queue fronta;

其次,你必须在add()实例上调用函数queue,而不是类本身(如果函数是{{那就是这种情况)。 1}},但在这种情况下,您将使用static代替::)。因此:

.