Avatar billede ultik Nybegynder
10. januar 2001 - 21:12 Der er 5 kommentarer og
1 løsning

Classes ? Header filer ?

Hej !

Jeg har et problem med Turbo C++, jeg har nogle classes som jeg skal bruge i hhv en editor, og et program der benytter filer oprettet i netop den editor. Derfor bruger jeg en header fil ( classdef.hpp ), men når jeg inkluderer den går det galt. Den vil ikke lade mig kompilere, den klager over en syntaxfejl i deklarationen i linie 1 :

class TMsgDialog
{
  public:
    ....
}

Jeg havde samme fejl flere gange længere nede, men fjernede den ved at fjerne et semikolon fra ovenstående slutbrace ( }; -> } ). Dette kan jeg jo ikke rigtig gøre her......

Hvad gør jeg ?

Med venlig hilsen
Ulrik Jensen
ulrik@qcom.dk
Avatar billede eagleeye Praktikant
10. januar 2001 - 21:48 #1
Du skal da havde semikolon efter }. Prøv derimod at ændre .hpp til .h.
Avatar billede soepro Nybegynder
11. januar 2001 - 15:50 #2
Her er et eksempel der virker:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

class TMsgDialog
{
  public:
  char      msg[31];
  TMsgDialog(char *s) { strncpy(msg, s, sizeof(msg)-1); };
  Display(void) { printf(\"%s\\n\", msg); };
};

int main (void)
{
  TMsgDialog myDlg(\"Hejsa\");
  myDlg.Display();
  return 0;
}

Det spiller ingen rolle om klassen defineres direkte i sorucen, eller du laver en .h fil og includer den med #include \"tmsgdlg.h\":

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include #tmsgdlg.h\"

int main (void)
{
  TMsgDialog myDlg(\"Hejsa\");
  myDlg.Display();
  return 0;
}

hvor tmsgdlg.h så altså indeholder:

class TMsgDialog
{
  public:
  char      msg[31];
  TMsgDialog(char *s) { strncpy(msg, s, sizeof(msg)-1); };
  Display(void) { printf(\"%s\\n\", msg); };
};
Avatar billede ultik Nybegynder
12. januar 2001 - 06:17 #3
det er jo ligesom det jeg har konstateret at det gør.........
Avatar billede ultik Nybegynder
19. januar 2001 - 08:57 #4
det kom der ikke noget godt af jo... nå pyt...
Avatar billede soepro Nybegynder
19. januar 2001 - 13:15 #5
ultik >> Hvad pokker var så problemet !!! Har du nærlæst mit svar - jeg anviser jo OGSÅ .H løsningen som du efterspørger.
Avatar billede soepro Nybegynder
19. januar 2001 - 13:16 #6
Bare at svare selv og acceptere DET svar, når man har fået løsningen, er sgu\' for nemt.
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