我从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搜索,它通常与外来分号,括号等有关。
我找不到各种各样的东西感谢您的帮助
答案 0 :(得分:2)
您无法在类类型.add()
上调用queue
,您需要在您创建的对象上调用它!在您的情况下,那将是fronta.add(10);
。
此外,您创建fronta
的语法错误。使用queue fronta;
。
答案 1 :(得分:2)
行queue fronta();
声明一个返回类型为queue
的对象并且不带参数的函数。这可能不是你想要的。请改用queue fronta;
。
其次,你必须在add()
的实例上调用函数queue
,而不是类本身(如果函数是{{那就是这种情况)。 1}},但在这种情况下,您将使用static
代替::
)。因此:
.