Avatar billede orca Nybegynder
11. februar 2003 - 23:02 Der er 4 kommentarer og
1 løsning

Problemer med GNU C++ Compiler

Hej alle.

Jeg har lavet et lille program i VC++, det compiler fint deri, og fungerer som det skal. Men det skal kunne compiles med GNU C++ compileren, og den er ikke nær så tilfreds med koden.

Her kan i se koden: http://nopaste.php-q.net/5169

Her er dens fejlbeskeder:
program.c:11: syntax error before `)'
      --> 10: // Function declarations
      --> 11: int getLength(string strName);
program.c:47: syntax error before `)'
      --> 46: // getLength
      --> 47: int getLength(string strName)
program.c: In function `int getLength(...)':
program.c:52: `strName' undeclared (first use this function)
      --> 52:         switch (strName[i])
program.c:52: (Each undeclared identifier is reported only once
      --> 52:         switch (strName[i])
program.c:52: for each function it appears in.)
      --> 52:         switch (strName[i])


Der gives point for en forklaring på hvad den brokker sig over, da jeg ikke selv forstår det.
Avatar billede jpk Nybegynder
12. februar 2003 - 08:32 #1
Det er ikke det, men her er en lille optimering til din getLength-metode:

int getLength(string strName)
{
    int intValue=1;
    for(int i=0; i<6; i++)
        intValue *= (strName[i] - 'A'+1);

    return intValue;
}
Avatar billede jpk Nybegynder
12. februar 2003 - 08:34 #2
Du kunne jo prøve:
#include <string>
Avatar billede hsloth Novice
12. februar 2003 - 09:03 #3
Kompileren kan ikke finde definitionen af std::string.
Den findes i filen "string" - og skal inkluderes sådan som jpk angiver.

Inklude sætningen skal anbrunges mellem linie 7 og 8.
Avatar billede jpk Nybegynder
12. februar 2003 - 09:09 #4
hsloth >> include-sætningen KAN anbringes efter linie 7
Det SKAL bare anbringes før linie 11
Men det er da, synsmæssigt, et ganske pænt sted at anbringe den mellem linie 7 og 8...
Avatar billede orca Nybegynder
12. februar 2003 - 13:15 #5
jpk -> Tak for tippet, jeg har i mellemtiden fundet en masse der kunne optimeres :). Jeg ved ikke hvorfor jeg overså at jeg ikke havde includet string :/. Tak for hjælpen!
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