Zeiger Parameter direkt eingeben

DuffCola

Mitglied
Hallo.
ist es möglich, wenn ein Zeiger als Parameter erwartet wird einfach einen localen wert einzugeben also z.B.
Code:
void foo(string *test)
{
    //Ihrgendein Code
}

int main(void)
{
    foo("hallio");
    return 0;
}
ich weiß, dass dieses Beispiel wengin Sinn macht, und dass man in so einem Fall eigentlich konstanten Referencen(Oder hießen die mit dem & anders?)verwendet, aber imich interessiert das einfach, ob das gehen könnte.
 
Hi.

Ja, es ist möglich einen lokalen Wert zu übergeben, aber die Typen sowie die Qualifizierer müssen natürlich übereinstimmen.

Die Funktion erwartet einen Zeiger auf einen string.

Was ist string? Die C++ Klasse std::string oder ein selbstdefinierter Typ / typedef?

Es wird ein Stringliteral übergeben. Stringliterale sind konstante Werte, d.h. der Typ ist "const char*".

Es würde also nur funktionieren, wenn "string" ein typedef "const char" wäre.
 
Zurück