005
03.12.2004, 20:48 Uhr
derphilipder
|
Hab allerdings zwischenzeitlich die using direktive auskommentiert und die entsprechenden Definitionen durch std:: ergänzt. Jetzt ist der Fehler weg.
C++: |
#ifndef _MYGRAPH_ #define _MYGRAPH_
#include <vector> #include <qcolor.h> #include <qstring.h> //using namespace std;
enum graphtype{standard, spektral};
class Graph { protected: QString name; //Name/Titel des Graphen graphtype type; //Art des Graphen(z.B. Spektralgraph) std::vector<double> *f_values;//Funktionswerte QColor color; //Farbe des Graphen Qt::PenStyle style; //Linientyp des Graphen int x_number; //Anzahl der Wertepaare double x_min, x_max; //Wert des kleinsten und groessten X-Wertes double y_min, y_max; //Wert des kleinsten und groessten Y-Wertes
public: Graph();// : color(Qt::red), style(Qt::SolidLine), x_number(0), y_min(0.0), y_max(0.0){} Graph(QString nam, std::vector<double> *val, QColor col, Qt::PenStyle st, double min, double max) : name(nam), f_values(val), color(col), style(st), y_min(min), y_max(max) {x_number=(int)f_values->size();} virtual ~Graph(){}
//Zugriffsmethoden------------------ QString getName() const {return name;} graphtype getType()const {return type;} std::vector<double>* getValues() const {return f_values;} QColor getColor()const {return color;} Qt::PenStyle getStyle()const {return style;} int getNumber()const {return x_number;} double getMin()const {return x_min;} double getMax()const {return x_max;} double GetValue(int index)const {if(index<=x_number&&index>=0)return (*f_values)[index]; else return 0;}
void setName(QString nam){name=nam;} void setValues(std::vector<double>* val){f_values=val;} void setColor(QColor col){color=col;} void setStyle(Qt::PenStyle st){style=st;} void setMin(double min){x_min=min;} void setMax(double max){x_max=max;} void setValue(double val, int index) {if(index<=x_number&&index>=0)(*f_values)[index]=val;} //------------------------------------
friend class Diagram; };
#endif
|
Jetzt kämpf ich gerade mit nen anderen Fehler:
C++: |
std::vector<Graph*>* graphptr //Diese Definition... //... graphptr->erase(index);//...führt zusammen mit diesem Aufruf... ...zu diesem Fehler: .\diagram.cpp(33) : error C2664: 'class Graph **__thiscall std::vector<class Graph *,class std::allocator<class Graph *> >::erase(class Graph ** ) ' : Konvertierung des Parameters 1 von 'int' in 'class Graph ** ' nicht moeglich
|
Kann das grad nicht nachvollziehen...
Oder sehe ich das falsch, daß graphptr ein pointer auf vector mit T gleich pointer auf Graph ist? -- Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!" Dieser Post wurde am 03.12.2004 um 21:11 Uhr von derphilipder editiert. |