Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ ошибка: ISO C++ forbids declaration of класс with no type [-fpermissive]

Автор: gxoptg 20.8.2011, 15:02

ошибка: ISO C++ forbids declaration of класс with no type [-fpermissive]
из-за чего в общем виде может возникать такая ошибка и как её исправить?

Автор: Iron Bug 20.8.2011, 15:07

из-за невключенных заголовков.
компилятор нашёл тип, который он не знает.

Автор: zuze 2.8.2013, 13:33

По поводу такойже ошибки. Вроде я заголовочные файлы подключил, а ошибка всё равно появляется. Не могу понять, помогите пожалуйста разобраться.
Мне надо что бы значение переменной "mydata1" из класса A могла использоваться в классе B.

Приведу только ту часть кода которая должа показать суть проблемы

#ifndef A_H
#define A_H

#include <QDialog>
#include <QTextCodec>

#include <b.h>

namespace Ui {
    class A;
}

class A : public QDialog
{
    Q_OBJECT

public:
    explicit a(QWidget *parent = 0);    // Объявление конструктора
    ~a();                               // Объявление диструктора

    QByteArray mydata1;
    B B1;

#endif // A_H


#ifndef B_H
#define B_H

#include <QObject>
#include <QFile>

#include <a.h>

class b: public QObject
{
    Q_OBJECT

    public:
        b();
        ~b();
        a *pclass;
        void fun(void)
};

#endif // B_H


#include <b.h>

void b::fun()
{
     qDebug() << pclass->mydata1;
}


Возникает ошибка:
ISO C++ forbids declaration of 'a' with no type

Ошибка указывает на строчку кода

a *pclass;

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)