og kommandoen: -------------- print_message("NOOP","E","exiting");
Endelig er der advarslen: ------------------------- main.cpp:343: warning: deprecated conversion from string constant to 'char *'
Desværre kan jeg ikke debugge uden at -Wall flaget bliver sat og så kommer der en zillion af disse advarsler - og det irriterer mig ærlig talt. Synes jeg har prøvet alt uden held.
Har det noget med om man inkluderer <string> eller <string.h>? Der er en eller anden forskel her, ikke?. Her inkluderers <string> og <iostream>.
(ArneC kan sikkert genkende problemet fra et indlæg som jeg ikke har fået givet ham points for - det kommer, bare rolig)
Iøvrigt må du have en masse andre problemer hvis -Wall giver en zillion fejl meldinger, prøv at poste et lille udvalg af dem, måske laver du mange unødige type converteringer, nogle med risiko for precisions tab, var overførsler, temporære object etc.
Conrad: Jeg har nu prøvet at rettet det fra (char *) til string, men jeg er bekymret over al den allokering og deallokering. Ville gerne kunne sende pr. reference (&), men det er konstanter jeg sender. Sådan som jeg læser programmet nu, så oprettes der 3 string objekter som frigives igen efter kaldet. Det er spild af god og dyrbar CPU-tid. Ret mig venligst hvis jeg tager fejl.
I dit indlæg spurgte du - der blev i alt fald svaret - om forskellen mellem at bruge <> og "" og det er rigtig nok hhv. at kigge i et compiler include katalog og at kigge i det pågældende udviklingskatalog.
i øvrigt kom følgende advarsel i forbindelse med at jeg har en default værdi nogle parametre i bl.a. void Program::ErrorOccured(string ErrorMessage = "");
warning: default argument given for parameter 1 of `void DKLogic::ErrorOccured (basic_string, __default_alloc_template > = "")' - Hvordan laver man en default værdi på et strengargument?
Segmose: Jeg har prøvet dit løsningsforslag, men faktisk er det den eneste advarsel der dukker op. Jeg har bare en masse debugmeddelelser rundt om i programmet (som kalder print_message, som giver fejlmeddelelsen)
Conrad: Jeg har nu prøvet at rettet det fra (char *) til string, men jeg er bekymret over al den allokering og deallokering. Ville gerne kunne sende pr. reference (&), men det er konstanter jeg sender. Sådan som jeg læser programmet nu, så oprettes der 3 string objekter som frigives igen efter kaldet. Det er spild af god og dyrbar CPU-tid. Ret mig venligst hvis jeg tager fejl.
I dit indlæg spurgte du - der blev i alt fald svaret - om forskellen mellem at bruge <> og "" og det er rigtig nok hhv. at kigge i et compiler include katalog og at kigge i det pågældende udviklingskatalog.
i øvrigt kom følgende advarsel i forbindelse med at jeg har en default værdi nogle parametre i bl.a. void Program::ErrorOccured(string ErrorMessage = "");
warning: default argument given for parameter 1 of `void DKLogic::ErrorOccured (basic_string, __default_alloc_template > = "")' - Hvordan laver man en default værdi på et strengargument?
Segmose: Jeg har prøvet dit løsningsforslag, men faktisk er det den eneste advarsel der dukker op. Jeg har bare en masse debugmeddelelser rundt om i programmet (som kalder print_message, som giver fejlmeddelelsen)
Jeg tror nu at jeg forstår hvad compileren mener, du bruger en .h (c/gammel C++) fil som deprecated (betyder vist udgået) hvor du uden .h (Ny standard include fil) ikke ville få denne fejl, men måske nogle andre mere relevante.
Synes godt om
Ny brugerNybegynder
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.