C++ Vektor durch Funktion deklarieren?


28.05.2021, 14:18

Hier das Bild

2 Antworten

Ich kann so nur raten.(Schon da der Code nur teilweise zu sehen ist und die fehlermeldungen zudem nur auf Deutsch und damit sehr unverständlich)

Womöglich liegt es daran, dass dein Parameter const ist und deshalb die Funktion nicht als solche erkannt wird.

Oder du musst sie erst deklarieren, bevor du sie in der Implementierung aufrufst.

Oder das hängt mit lvalue vs. rvalue zusammen.

In der ersten Zeile deiner maxsum()-Funktion (direkt nach dem Kommentar), deklarierst du eine lokale Variable mit demselben Namen "maxsum".

Ab diesem Zeitpunkt ist innerhalb des Gültigkeitsbereiches deiner Funktion NUR NOCH die Variable unter diesem Namen bekannt, sodass ein späterer Aufruf als Funktion nicht mehr funktioniert.

Deshalb gebe ich dir jetzt mal drei Tipps, die du zukünftig beherzigen solltest:

  • Kommentare weglassen. Anfänger neigen dazu, Kommentare für jeden Murks zu verfassen, aber die stören nur den Lesefluss, und führen evtl. sogar Bugs ein, da sie sehr oft "lügen".
  • Wähle sinnvolle und gute Bezeichner, die ausdrücken, was passieren soll, oder welche Aufgabe erfüllt werden soll. ("A" ist z. B. kein guter Bezeichner, und auch "maxsum" zu ungenau.)
  • Stelle die Sprache der Compilerfehlermeldungen auf Englisch! Kein Mensch nutzt nicht-englilsche Compiler und es verhindert, dass du im Internet vernünftig danach googeln kannst.

So, das war alles.

Viel Erfolg noch! :)

Woher ich das weiß:Berufserfahrung