Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » pointer wird nicht zurück übergeben

Forum | Hilfe | Team | Links | Impressum | Gästebuch | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: C-Kurs || MSDN-Online || Source-Corner || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   


Autor Thread - Seiten: > 1 <
000
21.06.2010, 16:06 Uhr
pospiech



In folgendem Code ist der Pointer auf device nach dem Funktionsaufruf noch immer 0 - warum?

C++:
    QMicosPolluxDevice * device = 0;
    bool success = QMicosPolluxDevice::GetStandardDevice("LS65-52mm", device);
    if (success) {
...




C++:
bool QMicosPolluxDevice::GetStandardDevice(QString Name, QMicosPolluxDevice * device)
{
    if (Name == "LS65-52mm"){
        if (!device) {
            device = new QMicosPolluxDevice();
        }
        device->setDescription(Name);
        return true;
    }
    return false;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.06.2010, 16:22 Uhr
Tommix



Hallo,
Du übergibst den Parameter als Kopie, das Original bleibt daher unverändert. Ein Ausweg wäre ein Zeiger auf den Zeiger:

C++:
bool success = QMicosPolluxDevice::GetStandardDevice("LS65-52mm", &device);

bool QMicosPolluxDevice::GetStandardDevice(QString Name, QMicosPolluxDevice ** device)
{
    if (Name == "LS65-52mm"){
        if (!(*device)) {
            *device = new QMicosPolluxDevice();
        }
        (*device)->setDescription(Name);
        return true;
    }
    return false;
}


Gruß, Tommix

Dieser Post wurde am 21.06.2010 um 16:23 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  

Antwort hinzufügen
Benutzername (Minimal 2, maximal 24 Zeichen, keine Sonderzeichen)
 
Sicherheitscode


Quellcode:

[cpp][/cpp]
[php][/php]
[vb][/vb]
[code][/code]


Hilfeseiten:

[man][/man]
[man 0][/man]


sonstige Tags:

[quote][/quote]
[edit][/edit]
[url]http://[/url]
[url]hier klicken[/url]

Weitere Formatierungs-
möglichkeiten


Smilies
Weitere Smilies ansehen
Email Notify Aktivieren Sie dieses Kästchen, um über weitere Antworten per Mail informiert zu werden.
Smilies Smilies wie :), ;) usw. in kleine Grafiken verwandeln? (Nur sinnvoll wenn Smilies vom Administrator aktiviert sind.)
Urls umwandeln WWW-Adressen in Links umwandeln
ThWboard Code Soll ThWboard code in ihrer Nachricht aktiviert werden?

ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: