vector in header macht probleme
-
hallo,
ich wollt grad mal in einer header datei den vector header inlcuden. bis dahin hat auchc alles funktioniert. als ich dann aber einen vector erstellen wolltehat er gemeckert.//strfunc.h #ifndef strfunc_h_ #define strfunc_h_ #include <math.h> #include <vector> //#include "control.h" <<eigener header vector<char> operators();//Zeile 8//<<--hier meckert er schon vector<float> operands();//Zeile 9//<<--und hier auch void calc(void) { //irgendwelcher code } float strfunc(char* func) { vector<char> operators();//<<--ich hab versuch die deklaration oben durch diese zu ersetzten, hat aber nix gebracht vector<float> operands(); //irgendwelcher code } #endif
Fehler:
c:\programme\microsoft visual studio\myprojects\2varfunk\strfunc.h(8) : error C2143: Syntaxfehler : Fehlendes ';' vor '<' c:\programme\microsoft visual studio\myprojects\2varfunk\strfunc.h(8) : error C2501: 'vector' : Fehlende Speicherklasse oder Typbezeichner c:\programme\microsoft visual studio\myprojects\2varfunk\strfunc.h(8) : error C2143: Syntaxfehler : Fehlendes ';' vor '<' c:\programme\microsoft visual studio\myprojects\2varfunk\strfunc.h(9) : error C2143: Syntaxfehler : Fehlendes ';' vor '<' c:\programme\microsoft visual studio\myprojects\2varfunk\strfunc.h(9) : error C2501: 'vector' : Fehlende Speicherklasse oder Typbezeichner c:\programme\microsoft visual studio\myprojects\2varfunk\strfunc.h(9) : error C2086: 'vector' : Neudefinition c:\programme\microsoft visual studio\myprojects\2varfunk\strfunc.h(9) : error C2143: Syntaxfehler : Fehlendes ';' vor '<'
//main.cpp #include <cstdlib> #include <iostream> #include <vector> #include <math.h> //#include "control.h" <<eigener header #include "strfunc.h" using namespace std; int main(int argc, char *argv[]) { char *str; vector<char> operators(12);//<<hier vector<char*> operands();//<<und hier meckerst er nicht return 0; }
kann mir jemand sagen, woran das liegt und wie ich das beheben kann?
-
Die Klassen liegen im Standard Namensraum, den du entweder
öffnen (using namespace std) oder einfach mit std:: angeben kannst.
-
danke
leider hab ich jetzt ein neues problem und keine ahnung.
jetzt hab ich am anfang
using namespace std;
eingefügt
wenn ich jetzt x.size() aufrufe sagt er mir:
c:\programme\microsoft visual studio\myprojects\2varfunk\strfunc.h(13) : error C2228: Der linke Teil von '.size' muss eine Klasse/Struktur/Union sein
und das für jeder vectormemberfunktionkann
kann mir jemand sagen, was ich jetzt schon wieder falsch mache?
-
kann mir keiner sagen, was ich falsch mache?
-
Hallo
vector<char> operators(12);
was genau erhoffst du dir davon?
Ein einfacher Vektor wird so deklariert :vector<char> operators;
bis bald
akari
-
akari schrieb:
Hallo
vector<char> operators(12);
was genau erhoffst du dir davon?
Ein einfacher Vektor wird so deklariert :vector<char> operators;
bis bald
akariIn den Klammern steht die Anzahl der Elemente die der Vector vorreservieren soll,
ist schon ganz sinnvollDevil