Avatar billede geputzt Nybegynder
07. maj 2004 - 13:56 Der er 9 kommentarer og
1 løsning

Kalde en funktion i en cpp fil

Det lyder nok helt tåbeligt det her, men jeg er forholdsvis newbie i c++

Jeg har en funktion i en cpp-fil, som jeg gerne vil kalde fra en anden cpp-fil. Funktionen er ikke defineret i nogen header-fil, altså cpp-filen er stand-alone så at sige.

Er jeg nødt til at lave en header-fil, hvori funktionen er defineret eller er der en anden måde?
Avatar billede arne_v Ekspert
07. maj 2004 - 14:01 #1
Du bør lave en .h fil men du kan også bare skrive erklæringen i den .cpp
fil som skal bruge funktionen.
Avatar billede geputzt Nybegynder
07. maj 2004 - 14:04 #2
Øh, det må du lige forklare nærmere...Hvis jeg har to cpp-filer, fil1.cpp og fil2.cpp, som begge implementerer en funktion, func(), hvordan specificerer jeg så at det er func() i f.eks. fil2.cpp, som jeg vil bruge?
Avatar billede arne_v Ekspert
07. maj 2004 - 14:06 #3
Hvis de hedder det samme så er det en helt anden problem stilling

C : det kan du ikke

C++ : brug namespaces
Avatar billede geputzt Nybegynder
07. maj 2004 - 14:07 #4
Jeg tror bare jeg laver en header-fil så, men smid lige et svar, så får du pointene. Tak for hjælpen!!
Avatar billede arne_v Ekspert
07. maj 2004 - 14:09 #5
svar
Avatar billede arne_v Ekspert
07. maj 2004 - 14:09 #6
Hvis funktionen hedder det samme så er det ikke nok med en .h !
Avatar billede geputzt Nybegynder
07. maj 2004 - 14:11 #7
Det var faktisk ikke problemet, det var mere for at forstå det, du mente med erklæringer...
Avatar billede arne_v Ekspert
07. maj 2004 - 14:13 #8
erklæring:

void f();

implementering:

void f()
{
  ...
}
Avatar billede geputzt Nybegynder
07. maj 2004 - 14:50 #9
Okay, men så er jeg forvirret igen. Sagde du ikke, at jeg kunne lave erklæringen i den cpp-fil, hvor funktionen (som er i en anden fil) kaldes fra?! Altså func() er i fil1.cpp og jeg kalder den fra fil2.cpp. Hvad hjælper det så at erklæringen er i fil2.cpp, når implementeringen er i fil1.cpp? Håber det giver mening!
Avatar billede arne_v Ekspert
07. maj 2004 - 15:13 #10
Erklæringen skal være der hvor funtkionen skal bruges.

Linkeren sørger for at få tingene linket sammen.
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