12. juli 2004 - 11:11Der er
5 kommentarer og 1 løsning
#include ,#pragma once, #ifndef problem
Hejsa
Jeg har en klasse (CEPSSimDlg) der har en attribut af en anden klassetype (CSerialCom). Denne er lavet som private i CEPSSimDlg klassen. For at få adgang fra CSerialCom til CEPSSimDlg, har jeg givet den følgende attribut:
CEPSSimDlg* m_pPar;
Når jeg bruger m_pPar kan compileren ikke finde ud af hvad m_pPar er, den skriver at det ikke er en pointer til en klasse/struct/union. Jeg er ret sikker på problemet ligger i hvilke filer der skal inkluderes hvor. Hver af de to klasser har en .h og en .cpp fil. Men hvor skal hvad inkluderes ? Skal jeg benytte #ifndef, #define, #endif ? Da det er et VC .net 2003 projekt findes linien "#pragma once" i alle header filer, kan det betyde noget ? Håber nogen kan hjælpe.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Nu har jeg fundet fejlen, det var ikke en forward erklæring der skulle til, men fordi jeg brugte en medlemsvariabel i en static metode, så kunne compileren ikke finde ud af hvad det var for en variabel, selvfølgelig. Tak for svarene.
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.