Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > С++ Qt ошибка описания типа.


Автор: КESТ 31.3.2009, 22:39
Я в С++ пока новичёк, пишу первое приложение - достаточно простой калькулятор на Qt, но и тут возникла проблема.
вот мои исходники:

файл calc.h
Код

#ifndef CALC_H
#define CALC_H
#include <QDialog>

class QPushButton;
class QLabel;
class QSpinBox;

class calc:public QDialog
{
    Q_OBJECT

public:
    calc(QWidget *parent=0);
    void clplus();
    void clminus();
    void clumnoj();
    void clrazdel();
    QSpinBox *a;
    QSpinBox *b;
    QSpinBox *c;
    QPushButton *plus;
    QPushButton *minus;
    QPushButton *umnoj;
    QPushButton *razdel;
    QLabel *ravno;
}
#endif


файл calc.cpp:
Код

#include <QtGui>
#include "calc.h"

calc::calc(QWidget *parent):QDialog(parent)
{
    ravno = new QLabel(tr("<h1>=</h1>"));
    a=new QSpinBox;
    b=new QSpinBox;
    c=new QSpinBox;
    plus= new QPushButton("+");
    minus= new QPushButton("-");
    umnoj= new QPushButton("*");
    razdel= new QPushButton("/");
    connect(plus, SIGNAL(clicked()), this, SLOT(clplus()));
    connect(minus, SIGNAL(clicked()), this, SLOT(clminus()));
    connect(umnoj, SIGNAL(clicked()), this, SLOT(clumnoj()));
    connect(razdel, SIGNAL(clicked()), this, SLOT(clrazdel()));
    
}


компилятор пишет: 
Код

calc.cpp:4: ошибка: в описании возвращаемого типа нельзя определять новые типы
calc.cpp:4: замечание: (возможно, пропущена точка с запятой после определения ‘calc’)
calc.cpp:4: ошибка: некорректная спецификация возвращаемого типа в конструкторе
make: *** [calc.o] Ошибка 1


никак не пойму что не так. по всем скачаным мной пособиям правильно. Qt4,4,3. стандартный g++ из Linux Ubuntu.

Добавлено через 1 минуту и 49 секунд
P.S обработчики кнопок пока не писал т.к. не разберусь пока с самым главным.

Автор: kemiisto 31.3.2009, 22:47
КESТ, русским языком же написано! smile Поставь в конце заголовочного файла, после закрывающей скобки в объявлении класса (27 строка) точку с запятой. 

Автор: КESТ 2.4.2009, 13:25
чорд О_о никогдаб даже не подумал что после закрывающей скобки нужна ;

а первая и третья ошибки? или они из-за этого и возникают? 

P.S сейчас проверить не могу т.к. в школе на информатике. вечером отпишусь

Автор: Acer 2.4.2009, 13:51
Цитата(КESТ @ 2.4.2009,  12:25)
чорд О_о никогдаб даже не подумал что после закрывающей скобки нужна ;

При объявлении класса - нужна

Автор: КESТ 2.4.2009, 19:38
и правда.... заработало smile всем спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)