Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: al_kokaine от Октябрь 05, 2005, 17:00 Люди! помогите!
Добивают следующие ошибки: main.cpp: At global scope: main.cpp:5: error: new types may not be defined in a return type main.cpp: In function `MainWindow qMain(int, char**)': main.cpp:9: error: conversion from `int' to non-scalar type `MainWindow' requested содержимое main.cpp: Код: #include <qapplication.h> MainWindow - потомок класса QMainWindow. Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: KADABRA от Октябрь 05, 2005, 18:24 Ну так покажи этот MainWindow.
А то тут конечно легко гадать, но врядли это тебе поможет. Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: ElderOrb от Октябрь 05, 2005, 22:23 Я не уверен, но вроде с похожей ошибкой я когда-то сталкивался. Полечилось созданием виджэта через new.
p.s. Проявлялась она у меня тоже в main.cpp Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: al_kokaine от Октябрь 06, 2005, 07:38 Код:
Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: KADABRA от Октябрь 06, 2005, 08:36 Вместо
MainWindow::MainWindow() : QMainWindow(parent, flags) напиши просто MainWindow::MainWindow() Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: al_kokaine от Октябрь 06, 2005, 13:18 та же фигня. :-(
Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: KADABRA от Октябрь 06, 2005, 18:10 Ёпть! Как я сразу не заметил!
main должен что-то возвращать, а тебя это не описано. Замени main(int argc, char **argv) на int main(int argc, char **argv) Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: al_kokaine от Октябрь 06, 2005, 19:41 в таком случае появляется третья ошибка:
main.cpp:5: error: extraneous `int' ignored Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: KADABRA от Октябрь 06, 2005, 20:28 Во первых скажи как ты компилишь? А во вторых у тебя ещё куча ошибок в классе MainWindow.
Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: al_kokaine от Октябрь 07, 2005, 08:13 компилю следующим образом
qmake -project qmake lab1qt.pro make укажи ошибки. Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: KADABRA от Октябрь 07, 2005, 09:22 Цитата: "al_kokaine" #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <qmainwindow.h> #ifndef INTEGR_H #include "integration.h" #endif class QAction; class QLineEdit; class QPushButton; class QStringList; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(); private slots: void applyInputHClicked(); void applyInputW1Clicked(); void calculateKoefClicked(); void drawFurieClicked(); private: double ak; double bk; double w1; double h; double T; QLineEdit *w1input; QLineEdit *hinput; QStringList *abk; QPushButton *applyInputW1; QPushButton *applyInputH; QPushButton *calculateKoef; QPushButton *drawFurie; QPushButton *exit; pfdri ri; pfdcs ris; pfdcs ric; } #endif и реализация MainWindow::MainWindow() : QMainWindow(parent, flags) { w1input = new QLineEdit; hinput = new QLineEdit; abk = new QStringList; plotter = new Q3Canvas; applyInputH = new QPushButton("Apply h"); applyInputW1 = new QPushButton("Apply w1"); calculateKoef = new QPushButton("Calculate koeff"); drawFurie = new QPushButton("Plot!"); exit = new QPushButton("Exit"); ak = new double [7]; // ak, bk, w1, h и T - это не указатели!!! bk = new double [7]; w1 = new double; h = new double; T = new double; ri = &research_impulse; ric = &ri_cos; ris = &ri_sin; connect(applyInputW1, SIGNAL(clicked()), &MainWindow, SLOT(applyInputW1Clicked())); connect(applyInputH, SIGNAL(clicked()), &MainWindow, SLOT(applyInputHClicked())); connect(calculateKoef, SIGNAL(clicked()),&MainWindow, SLOT(calculateKoefClicked())); // QObject::connect(exit,SIGNAL(clicked()),&MainWindow,SLOT(exitClicked())); // Что такое &MainWindow???? Где ты тут его видел??? // Только this можно использовать!!!! } void MainWindow::applyInputW1Clicked() { w1 = w1input->text.toDouble; T = 2*PI/w1; } void MainWindow::applyInputHClicked() { h = hinput->text.toDouble; } void MainWindow::calculateKoefClicked() { for (int i = 0; i < 7;i++) { // ak = get_koef(0,ris,ri,i+1,500,T); // bk = get_koef(0,ric,ri,i+1,500,T); // это в принципе не интересно } } Я надеюсь, что ты в реализации класса подключил заголовки QAction QLineEdit QPushButton QStringList ? Название: qt-win-opensource-desktop-4.0.0. Сборка проекта. Отправлено: al_kokaine от Октябрь 07, 2005, 14:19 аналогично.
|