class nicht im Geltungsbereich deklariert - obwohl .h enthalten war
Ich bin relativ neu in C ++ und stoße auf ein merkwürdiges Problem.
Ich erhalte die Meldung "ToDoItem wurde in diesem Bereich nicht deklariert". Ich habe jedoch die Datei todoitem.h hinzugefügt.
der Fehler befindet sich in dieser Klassendefinition:
#ifndef ITEMMONITOR_H
#define ITEMMONITOR_H
#include <QObject>
#include <QPointer>
#include <QTimer>
#include "todoitem.h"
class ItemMonitor : public QObject{
Q_OBJECT
signals:
void finished();
public:
explicit ItemMonitor(std::vector< QPointer<ToDoItem> >& items_);
private:
std::vector< QPointer<ToDoItem> >& items;
bool shouldRun;
public slots:
void beginMonitoring();
void finishUp();
};
#endif // ITEMMONITOR_H
und die todoitem.h ist:
#ifndef TODOITEM_H
#define TODOITEM_H
#include <string>
#include <QString>
#include <QPushButton>
#include <QFrame>
#include <QDateTime>
#include "todolist.h"
namespace Ui {
class ToDoItem;
}
class ToDoItem : public QFrame{
Q_OBJECT
public:
//constructor and destructor
explicit ToDoItem(QFrame *parent = 0);
~ToDoItem();
//functions
void setValues(QString mainText_, // sets all import
QString additionalText_,
QDateTime dateTime_,
bool hasDeadline_);
void paintEvent(QPaintEvent *pe); //added to support stylesheets
void setDeadline(QDateTime deadline_);
QDateTime getDeadline();
bool getHasDeadline();
void setId(int id_);
int getId();
void setSecsTillDeadline();
int getSecsTillDeadline();
bool getSorted();
void setSorted(bool sorted_);
QString getMainText();
private:
QString formatTime(int duration_);
Ui::ToDoItem *ui;
int id;
QDateTime deadline;
bool hasDeadline;
int secsTillDeadline;
bool sorted; // set to true only during the sorting process
};
#endif // TODOITEM_H