Forum: Mikrocontroller und Digitale Elektronik Frage zu Definitionen von Funktionen in C++


von Jan H. (janiiix3)


Angehängte Dateien:

Lesenswert?

Hallo,

bin gerade dabei den Artikel hier zu lesen..
https://www.mikrocontroller.net/articles/Speicherdirektzugriff_(DMA)_mit_dem_ATxmega#DMAController.cpp

Da ich von C++ keine Ahnung habe, stellt sich mir folgende Frage..

Ist es erlaubt zwei Funktionen mit dem selben Namen zu erstellen? In C 
ist das soweit ich weiß ein NoGo.

Im Anhang ein Foto.

von René H. (Gast)


Lesenswert?

Ja, aber die Signatur muss sich unterscheiden.

Grüsse,
René

von Jan H. (janiiix3)


Lesenswert?

René H. schrieb:
> Ja, aber die Signatur muss sich unterscheiden.
>
> Grüsse,
> René

Was genau meinst du damit?

von René H. (Gast)


Lesenswert?

Jan H. schrieb:
> René H. schrieb:
>> Ja, aber die Signatur muss sich unterscheiden.
>>
>> Grüsse,
>> René
>
> Was genau meinst du damit?

https://de.m.wikipedia.org/wiki/Signatur_(Programmierung)

Grüsse,
René

von Jan H. (janiiix3)


Lesenswert?

>> Was genau meinst du damit?
>
> https://de.m.wikipedia.org/wiki/Signatur_(Programmierung)
>
> Grüsse,
> René
Okay.. Das ist in C ja so nicht möglich oder sehe ich das falsch?

von Vincent H. (vinci)


Lesenswert?

Jan H. schrieb:
> Okay.. Das ist in C ja so nicht möglich oder sehe ich das falsch?

Richtig, da C seine Symbole nicht "name mangled".
https://en.wikipedia.org/wiki/Name_mangling

von Yalu X. (yalu) (Moderator)


Lesenswert?

Das Stichwort heißt "function overloading"

  https://en.wikipedia.org/wiki/Function_overloading

oder Funktionsüberladung

  https://msdn.microsoft.com/de-de/library/5dhe1hce.aspx

von Programmiersprachentheaterintendant (Gast)


Lesenswert?

Immerhin bietet C++ obendrauf noch namespaces
Einfach selber danach googlen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.