Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

06.09.2003, 20:45

<char> in <const char* &>

Hallo!

Ich habe eine Funktion

Quellcode

1
2
3
4
void func (const char* &Var)
{
/* ... */
}

Wenn ich diese Funktion nun z. B. so aufrufe

Quellcode

1
func ("Dies ist vom Typ <char[]>");

erschient ein Fehler
[list]
__thiscall func (const char *& )' : Konvertierung des Parameters 1 von 'char [25]' in 'const char *& ' nicht moeglich
Ein Verweis, der nicht auf ein 'const' zeigt, kann nicht an einen Wert gebunden werden, bei dem es sich nicht um einen L-Wert handelt
[/list]Wie lässt sich das beheben?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

06.09.2003, 21:32

Mach mal das "&" in der Funktionsdeklaration weg, oder brauchst Du das? Geht natürlich nur, wenn Du die Funktion selbst geschrieben hast.

Anonymous

unregistriert

3

06.09.2003, 21:57

Danke für die schnelle Antwort!

Aber warum geht es nicht mit "&"?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

06.09.2003, 22:03

Vielleicht geht es ja so:
void func (const char* const &Var)

(ja, doppeltes "const"!)

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

5

06.09.2003, 22:28

zum Thema:

const char* Bla;
und
const char const* Bla;

kann ich mal wieder "Effektiv C++ Programmieren" - Scott Meyers empfehlen :D

mal gucken wenn ich heute abend time hab poste ich was darüber.

6

08.09.2003, 13:00

Zitat von »"Gast"«

Danke für die schnelle Antwort!

Aber warum geht es nicht mit "&"?


Eine Konvertierung eines Temporären Strings in const char*& ist völlig Sinnlos und wird daher auch nett unterstüzt. Die Referenz eines Zeigers zu übergeben macht nur dann Sinn, wenn man den Wert eines Zeigers auch verendern will, was aber mit const wieder unterbunden wird.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige