#include<iostream>
Zu folgendem kleinen Prog habe ich eine Verständnisfrage:
#include<iostream>
using namespace std;
void test(char* laut);
int main()
{
test("Hallo");
return 0;}
void test(char* laut)
{
cout<<laut<<"\n";
}
Die Funktion "test" müßte aus meiner Sicht einen Zeiger auf eine char Variable erwarten. Es müßte also eine Adresse übergeben werden. Hier wird aber ein String übergeben.
In der Funktion selber wird dann mit der Variable "laut" der String ausgegeben.
Ich dachte bisher immer, dass der Wert eines Pointers mit dem *Operator ausgegeben wird, also z.B. *laut. Mit der Anweisung: cout<<laut... erwarte ich eigentlich eine Adresse und keinen String.
Vielleicht ne seltene Frage hier im Forum, aber kann mir vielleicht jemand erklären, warum das Programm funktioniert? Vielen Dank für Eure Hilfe.