Avatar billede ladyhawke Novice
30. juli 2002 - 08:53 Der er 8 kommentarer og
1 løsning

Vector som retur type

Ref: http://www.eksperten.dk/spm/240623

Øv... jeg havde ellers fået det til at virke, men nu får jeg denne fejl når jeg definerer en funktion med vector<LineData> som retur type:

h fil:
class File_Handling 
{
private:
    vector<LineData> ScanFileForTranslate(const char *filename);
    CString pathSelected;
.
.
.

fejl: error C2143: syntax error : missing ';' before '<'

Hvad har jeg glemt/gjort forkert
Avatar billede ladyhawke Novice
30. juli 2002 - 08:59 #1
Faktisk får jeg flere fejl på samme linie:

file_handling.h(16) : error C2143: syntax error : missing ';' before '<'
file_handling.h(16) : error C2501: 'vector' : missing storage-class or type specifiers
file_handling.h(16) : error C2059: syntax error : '<'
file_handling.h(16) : error C2238: unexpected token(s) preceding ';'
Avatar billede jpk Nybegynder
30. juli 2002 - 09:08 #2
#include <vector>
using std::vector;
Avatar billede jpk Nybegynder
30. juli 2002 - 09:13 #3
Fejl 2 siger klart at vector ikke er defineret, derfor skal den inkluderes...

Samtidig, hvis du vil bruge vector uden at skrive std::vector hver gang, skal du gøre compileren opmærksom på, at du vil anvende namespace std::vector.
Man kan også skrive "using namespace std;", istedet for "using std::vector;", så kan man anvende hele namespacet std, men det kan muligvis inteferere med andre namespaces/klasser (fx MFC) og evt. også give lidt længere kompileringstid...
Avatar billede ladyhawke Novice
30. juli 2002 - 09:16 #4
Hvor skal det stå? fejlen er åbenbart i min header fil, men "using..." skal vel står i c-filen? er det globalt eller skal det står i hver funktion ??? (Jeg har inkluderet vector)
Avatar billede jpk Nybegynder
30. juli 2002 - 09:18 #5
Du kan skrive den lige under dine includes...
Avatar billede jpk Nybegynder
30. juli 2002 - 09:20 #6
Om det er i den ene eller anden fil, afhænger af hvor du bruger vector...
I dit tilfælde skal compileren kende den headeren, derfor skal du skrive det der.
Avatar billede ladyhawke Novice
30. juli 2002 - 09:25 #7
Jeg får stadig samme fejl :-/

Følgende står i starten af min c-fil

#include "stdafx.h"
#include "Scan_Translate.h"
#include "Scan_TranslateDlg.h"

#include "File_Handling.h"
#include "folder_dialog.h"
#include "LineData.h"

#include <string.h>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
Avatar billede jpk Nybegynder
30. juli 2002 - 09:29 #8
Læs forrige indlæg...
Avatar billede ladyhawke Novice
30. juli 2002 - 09:38 #9
Selvfølgelig :o) Nu er jeg tilbage på sporet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester