Здравствуйте!
Вопрос скорее по С++, чем по Qt.
есть четыре файлика: timef.h, timef.cpp, leftframe.h и leftframe.cpp - и, соответственно, два класса: timeF и leftFrame. Необходимо сделать класс leftFrame дружественным к timeF для доступа к переменным (private и protected).
Пишу следующее:
timef.h (с вырезанными кусками, чтобы место не занимать)
#ifndef TIMEF_H
#define TIMEF_H
#include <QLabel>
#include <QtGui/QFrame>
#include "leftframe.h"
class leftFrame;
namespace Ui {
class timeF;
}
class timeF : public QFrame {
Q_OBJECT
friend class leftFrame;
public:
timeF(QWidget *parent = 0);
~timeF();
protected:
void paintEvent (QPaintEvent *event);
private:
Ui::timeF *m_ui;
//Переменные
QString header;
};
#endif // TIMEF_H
leftFrame.h#ifndef LEFTFRAME_H
#define LEFTFRAME_H
#include "timef.h"
#include <QWidget>
class timeF;
class leftFrame : public QWidget
{
public:
leftFrame(QWidget *parent=0);
protected:
void paintEvent(QPaintEvent* event);
private:
int leftCoordX;
};
#endif // LEFTFRAME_H
leftframe.cpp#include "leftframe.h"
#include <qpainter.h>
#include "timef.h"
class timeF;
leftFrame::leftFrame(QWidget* parent)
{
}
void leftFrame::paintEvent(QPaintEvent*)
{
QPainter painter(this);
painter.drawText(header);
painter.end();
}
Соответственно, ругается и не собирается.
`header' undeclared (first use this function)
Подскажите, пожалуйста, что сделано не так и где исправить :-)