Код: Выделить всё
/home/voland/progz/sigcreate/src/sigcreate.h:45: error: ISO C++ forbids declaration of `SigCreate' with no type
/home/voland/progz/sigcreate/src/sigcreate.h:47: error: destructor `SigCreate' must match class name `sigcreate'
Модератор: Модераторы разделов
Код: Выделить всё
/home/voland/progz/sigcreate/src/sigcreate.h:45: error: ISO C++ forbids declaration of `SigCreate' with no type
/home/voland/progz/sigcreate/src/sigcreate.h:47: error: destructor `SigCreate' must match class name `sigcreate'
(Voland @ Суббота, 19 Февраля 2005, 22:01) писал(а):Помогите разобраться. Сделал все как описано здесь, но постоянно выскакивает ошибка на этапе компиляцииЧто за фигня?Код: Выделить всё
/home/voland/progz/sigcreate/src/sigcreate.h:45: error: ISO C++ forbids declaration of `SigCreate' with no type /home/voland/progz/sigcreate/src/sigcreate.h:47: error: destructor `SigCreate' must match class name `sigcreate'
Код: Выделить всё
#include <qlabel.h>
#include <kmainwindow.h>
#include <klocale.h>
#include "sigcreate.h"
SigCreate::SigCreate(QWidget *parent, const char *name) : SigCreateDlg(parent, name)
{
}
SigCreate::~SigCreate()
{
}
#include "sigcreate.moc"
Код: Выделить всё
#ifndef _SIGCREATE_H_
#define _SIGCREATE_H_
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <kmainwindow.h>
#include "sigcreatedlg.h"
#include <qlineedit.h>
#include <qcombobox.h>
#include <qmultilineedit.h>
/**
* @short Application Main Window
* @author Alexander P Telenga <southcross@rambler.ru>
* @version 0.1
*/
class sigcreate : public SigCreateDlg
{
Q_OBJECT
public:
/** constructor */
SigCreate(QWidget *parent=0, const char *name=0);
/** destructor */
~SigCreate();
};
#endif // _SIGCREATE_H_
(Voland @ Понедельник, 21 Февраля 2005, 20:57) писал(а):Конечно.
Файл sigcreate.cpp
Код: Выделить всё
#include <qlabel.h> /** * @short Application Main Window * @author Alexander P Telenga <southcross@rambler.ru> * @version 0.1 */ class [B]sigcreate [/B]: public SigCreateDlg { Q_OBJECT public: /** constructor */ SigCreate(QWidget *parent=0, const char *name=0); /** destructor */ ~SigCreate(); }; #endif // _SIGCREATE_H_
(oav @ Понедельник, 21 Февраля 2005, 20:03) писал(а):(Voland @ Понедельник, 21 Февраля 2005, 20:57) писал(а):Конечно.
Файл sigcreate.cpp
Код: Выделить всё
#include <qlabel.h> /** * @short Application Main Window * @author Alexander P Telenga <southcross@rambler.ru> * @version 0.1 */ class [B]sigcreate [/B]: public SigCreateDlg { Q_OBJECT public: /** constructor */ SigCreate(QWidget *parent=0, const char *name=0); /** destructor */ ~SigCreate(); }; #endif // _SIGCREATE_H_
Выделено жирным. Определил класс с одним именем, а реализовал с другим.
Неужели KDevelop на такие вещи не ругается во время анализ кода, или там вообще анализатора нет?
(oav @ Вторник, 22 Февраля 2005, 11:13) писал(а):Неужели KDevelop на такие вещи не ругается во время анализ кода, или там вообще анализатора нет?
ммм..а причем тут среда разработки? это компилятор такие сообщения должен выдавать и выдает.
(Sparky @ Вторник, 22 Февраля 2005, 12:22) писал(а):При том что если среда разработки "умная", то предупреждений она выдаст на стадии написания а не компиляции - в MSVS например так и происходит. Не все конечно она отлавливает, но вот такую ошибку точнобы отловила.
(oav @ Вторник, 22 Февраля 2005, 11:36) писал(а):(Sparky @ Вторник, 22 Февраля 2005, 12:22) писал(а):
При том что если среда разработки "умная", то предупреждений она выдаст на стадии написания а не компиляции - в MSVS например так и происходит. Не все конечно она отлавливает, но вот такую ошибку точнобы отловила.
А можно по шагам что мне нужно сделать в моей MSVC чтобы она на стадии написания отловила опичатку?
Версии - 6,5 и 7.1.
Спасибо!
p.s.
(Sparky @ Вторник, 22 Февраля 2005, 12:50) писал(а):У меня ловит, но у меня C#, а там reflection Так что видимо насчет C++ и правда - погорячился
(oav @ Вторник, 22 Февраля 2005, 11:56) писал(а):(Sparky @ Вторник, 22 Февраля 2005, 12:50) писал(а):У меня ловит, но у меня C#, а там reflection Так что видимо насчет C++ и правда - погорячился
Ладно, это была провокация :devil_2: У меня и в С++ ловит, правда не MSVC, a add-on к ней внешний (Visual Assist) - тока он весьма глючиный, но в целом работает хорошо.
(Sparky @ Вторник, 22 Февраля 2005, 12:59) писал(а):В 2005 думается должно это быть уже в самой среде и для unmanaged C++ - во всяком случае в С# точно есть.