Na początek niech stanie się kod :
#include <QtGui>
#include <QtCore>
#include "oknogl.hpp"
const QString a ;
const QString b ;
const QString c ;
const QString mz1 ;
const QString mz2 ;
const QString q ;
const QString p ;
const QString deltha ;
float wa ;
float wb ;
float wc ;
float wmz1 ;
float wmz2 ;
float wq ;
float wp ;
float wdeltha ;
oknogl::oknogl()
{
//Pola do Wprowadzania i Labelez tekstem
//AX^2
axw = new QLineEdit( a , this) ;
axt = new QLabel("ax^2") ;
//Bx
bxw = new QLineEdit(b , this ) ;
bxt = new QLabel("bx") ;
//C
cw = new QLineEdit(c , this) ;
ct = new QLabel("c") ;
//rząd delty
odelta = new QLabel("Delta wynosi : " , this ) ;
delta = new QLineEdit(deltha ,this ) ;
//rząd x i q
oq = new QLabel("Q wynosi : " , this ) ;
wynq = new QLineEdit(q ,this) ;
ox = new QLabel("P wynosi : " , this ) ;
wynx = new QLineEdit(p ,this) ;
//rząd miejsc zerowych
ox1 = new QLabel("Pierwsze miejsce zerowe to : " , this) ;
wynx1 = new QLineEdit(mz1 ,this) ;
ox2 = new QLabel("Drugie to : " , this) ;
wynx2 = new QLineEdit(mz2 ,this) ;
// kolumny dla tego wyżej
kol1 = new QVBoxLayout(this) ;
kol1->addWidget(axw);
kol1->addWidget(axt);
kol2 = new QVBoxLayout(this) ;
kol2->addWidget(bxw);
kol2->addWidget(bxt) ;
kol3 = new QVBoxLayout(this) ;
kol3->addWidget(cw);
kol3->addWidget(ct) ;
wiersz = new QHBoxLayout(this) ;
wiersz->addLayout(kol1);
wiersz->addLayout(kol2);
wiersz->addLayout(kol3);
kdelta = new QHBoxLayout(this) ;
kdelta->addWidget(odelta);
kdelta->addSpacing(5);
kdelta->addWidget(delta);
kqix = new QHBoxLayout(this) ;
kqix->addWidget(oq);
kqix->addSpacing(5);
kqix->addWidget(wynq);
kqix->addSpacing(5);
kqix->addWidget(ox);
kqix->addSpacing(5);
kqix->addWidget(wynx);
kmz = new QHBoxLayout(this ) ;
kmz->addWidget(ox1);
kmz->addSpacing(5);
kmz->addWidget(wynx1);
kmz->addWidget(ox2);
kmz->addSpacing(5);
kmz->addWidget(wynx2);
glownakolumna = new QVBoxLayout(this ) ;
glownakolumna->addLayout(wiersz);
glownakolumna->addLayout(kdelta) ;
glownakolumna->addLayout(kqix);
glownakolumna->addLayout(kmz);
glowna = new QLabel("" , this) ;
this->setCentralWidget(glowna);
glowna->setLayout(glownakolumna);
this->setMinimumSize(180 , 180);
//akcje
connect(axw , SIGNAL(textEdited(QString)) , this , SLOT(zmianawspola())) ;
connect(bxw , SIGNAL(textEdited(QString)) , this , SLOT(zmianawspolb())) ;
connect(cw , SIGNAL(textEdited(QString)) , this , SLOT(zmianawspolc())) ;
connect(wynq , SIGNAL(textEdited(QString)) , this , SLOT(zmianaq())) ;
connect(wynx , SIGNAL(textEdited(QString)) , this , SLOT(zmianap())) ;
connect(wynx1 , SIGNAL(textEdited(QString)) , this , SLOT(zmianam1())) ;
connect(wynx2 , SIGNAL(textEdited(QString)) , this , SLOT(zmianam2())) ;
connect(delta , SIGNAL(textEdited(QString)) , this , SLOT(zmianadelty())) ;
}
void oknogl::zmianawspola()
{
wa = a.toFloat() ;
}
void oknogl::zmianawspolb()
{
wb = b.toFloat() ;
}
void oknogl::zmianawspolc()
{
wc = c.toFloat() ;
}
void oknogl::zmianaq()
{
wq = q.toFloat() ;
}
void oknogl::zmianap()
{
wp = p.toFloat() ;
}
void oknogl::zmianam1()
{
wmz1 = mz1.toFloat() ;
}
void oknogl::zmianam2()
{
wmz2 = mz2.toFloat() ;
}
void oknogl::zmianadelty()
{
wdeltha = deltha.toFloat() ;
}
obliczanie::obdelta(float wa , float wb , float wc , float wdeltha)
{
wbdelta = (wb*wb)-4*(wa*wc) ;
}
I nagłówkowy
#ifndef OKNOGL_HPP
#define OKNOGL_HPP
#include <QtGui>
#include <QtCore>
extern const QString a ;
extern const QString b ;
extern const QString c ;
extern const QString mz1 ;
extern const QString mz2 ;
extern const QString q ;
extern const QString p ;
extern const QString deltha ;
extern float wa ;
extern float wb ;
extern float wc ;
extern float wmz1 ;
extern float wmz2 ;
extern float wq ;
extern float wp ;
extern float wdeltha ;
class oknogl : public QMainWindow
{
Q_OBJECT
private :
QLineEdit *axw ;
QLineEdit *bxw ;
QLineEdit *cw ;
QLabel * axt ;
QLabel * bxt ;
QLabel * ct ;
QLabel * glowna ;
QVBoxLayout * kol1 ;
QVBoxLayout * kol2 ;
QVBoxLayout * kol3 ;
QVBoxLayout * glownakolumna ;
QHBoxLayout * wiersz ;
QHBoxLayout * kdelta ;
QHBoxLayout * kqix ;
QHBoxLayout * kmz ;
QLabel * odelta ;
QLineEdit * delta ;
QLabel * oq ;
QLineEdit * wynq ;
QLabel * ox ;
QLineEdit * wynx ;
QLabel * ox1 ;
QLabel * ox2 ;
QLineEdit * wynx1 ;
QLineEdit * wynx2 ;
public:
oknogl() ;
private slots :
void zmianawspola() ;
void zmianawspolb() ;
void zmianawspolc() ;
void zmianadelty() ;
void zmianaq() ;
void zmianap() ;
void zmianam1() ;
void zmianam2() ;
};
class obliczanie
{
public :
float obdelta(float wa,float wb , float wc , float wdeltha) ;
} ;
#endif // OKNOGL_HPP
Cóż wiem że trochę długo ale mam następujący problem . A więc tworzę sobie klasę i funkcję w niej (Obliczanie i obdelta) ale kompilator nie chce mi tego przepuścić za żadne skarby bo wciąż cokolwiek robię rzuca że " Prototype for int obliczanie::obdelta(float , float, float , float) does not match any in class obliczanie .
Oświeci mnie ktoś co robię nie tak (Ps z nawiasów przy deklaracji funkcji w klasie usuwałem też nazwy zmiennych ) ? I dlaczego on to traktuje jak int skoro ma być float.?