Referenz einen Defaultwert zuweisen: Unter Windows geht's, u

Alles rund um die Programmierung mit Qt
Antworten
PhilippM
Beiträge: 41
Registriert: 11. Dezember 2005 14:02
Wohnort: Darmstadt
Kontaktdaten:

Referenz einen Defaultwert zuweisen: Unter Windows geht's, u

Beitrag von PhilippM »

Hallo,

ich portiere gerade ein unter Windows lauffähiges Qt-Projekt nach Linux.

Dabei stolpert der Compiler über Zeilen der Form:

Code: Alles auswählen

bool Funktionsname(int& Parameter1, ...... , double& Parametername = 0.0);
mit der Meldung "error: default argument for parameter of type "double&" has type "double""
Inhaltlich ist mir diese Meldung durchaus verständlich, da 0.0 ja ein double und keine Referenz ist. Unter Windows kompiliert dass aber alles tadellos, welche Einstellung muss ich vornehmen, damit der gcc das auch frisst?

Danke und Gruß,
Philipp
Zuletzt geändert von PhilippM am 15. Januar 2008 09:26, insgesamt 1-mal geändert.
www.vas-project.org
The Virtual Avionics Suite
for MSFS and X-Plane
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Wundert mich, dass das unter Windows übersetzt.
Da eine Referenz auf eine Variable nicht 0.0 sein kann, geht höchstens ein

Code: Alles auswählen

const double& Parametername  = 0.0
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

@Volker: msvc ist an dieser Stelle (leider) zu kulant und lässt es zu...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

die frage ist noch die version ...

bei mir zumindest beim VS 2005er mag ers auch ned ...

Ciao ...
PhilippM
Beiträge: 41
Registriert: 11. Dezember 2005 14:02
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von PhilippM »

mhh, also unter windows kompiliere ich mit dem Gnu Make aus MinGW Version 3.81 und da geht es anstandslos.
Unter Linux mit gcc 4.2.1 hagelt es Fehlermeldungen.


Das interessante ist, dass es bei meinem Kollegen auf MAC OS ebengalls einwandfrei kompiliert (er zeigt allerdings warnings, wenn man sie explizit einschaltet). Meine Idee war daher, dass es vielleicht ein Flag gibt, was man setzen kann, dass der Compiler da etwas nachsichtiger ist.
Zuletzt geändert von PhilippM am 15. Januar 2008 09:26, insgesamt 2-mal geändert.
www.vas-project.org
The Virtual Avionics Suite
for MSFS and X-Plane
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Es ist definitiv falsch - warum sollte es dann noch ein Flag für geben?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
PhilippM
Beiträge: 41
Registriert: 11. Dezember 2005 14:02
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von PhilippM »

Okay, es ist also definitiv falsch, nur der windows-compiler ist zu dumm/nachsichtig, den Fehler anzukreiden.
Wie gesagt, unter MacOS gibts auch nur ne warning.

Dann werden wir das wohl mithilfe überladener Funktionen lösen müssen.
www.vas-project.org
The Virtual Avionics Suite
for MSFS and X-Plane
Antworten