C++ Template Problem

OP #5773286
Lesenswert?

Sehr geehrte Community,

was übersehe ich.
Danke für die Hilfe.

IDE Microsoft Visual Studio 2017 Community

Fehlermeldung:

Schweregrad  Code  Beschreibung  Projekt  Datei  Zeile 
Unterdrückungszustand
Fehler  C2995  "const myVector<T> &myVector<T>::operator =(const int)": 
Funktionsvorlage wurde bereits definiert.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
32
Fehler  C2988  Unerkannte Vorlagendeklaration/-definition  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Fehler  C2143  Syntaxfehler: Es fehlt ";" vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Fehler  C7525  Inlinevariablen erfordern mindestens "/std:c++17". 
bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  22
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Fehler  C2059  Syntaxfehler: "<"  bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  22
Fehler  C2143  Syntaxfehler: Es fehlt ";" vor "{"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
23
Fehler  C2447  "{": Funktionsheader fehlt - Parameterliste im alten 
Stil?  bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  23
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
28
Fehler  C2988  Unerkannte Vorlagendeklaration/-definition  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
28
Fehler  C2143  Syntaxfehler: Es fehlt ";" vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
28
Fehler  C7525  Inlinevariablen erfordern mindestens "/std:c++17". 
bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  28
Fehler  C2373  "myList": Neudefinition; unterschiedliche Modifizierer 
bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  28
Fehler  C2059  Syntaxfehler: "<"  bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  28
Fehler  C2039  "=": Ist kein Element von "`global namespace'"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
28
Fehler  C2143  Syntaxfehler: Es fehlt ";" vor "{"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
29
Fehler  C2447  "{": Funktionsheader fehlt - Parameterliste im alten 
Stil?  bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  29
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
15
Fehler  C2143  Syntaxfehler: Es fehlt "," vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
15
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
16
Fehler  C2143  Syntaxfehler: Es fehlt "," vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
16
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
22
Fehler  C2988  Unerkannte Vorlagendeklaration/-definition  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
22
Fehler  C2143  Syntaxfehler: Es fehlt "," vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
22
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
28
Fehler  C2988  Unerkannte Vorlagendeklaration/-definition  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
28
Fehler  C2143  Syntaxfehler: Es fehlt "," vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\myvector.h 
28
Fehler  C2988  Unerkannte Vorlagendeklaration/-definition  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Fehler  C2143  Syntaxfehler: Es fehlt ";" vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Angehängte Dateien:
OP #5773332
Lesenswert?

Danke für deine Antwort Rolf.

jetzt haben sich unsere Antworten überkreuzt. ;)

Mit Include Guards, meinst du die Präprozessor Direktiven
#Ifdefine ... , um den gesamten Code der **.h.
Die Fehlermeldungen werden weniger. Aber..

1. Habe ich schon ausprobiert ... kein voller Erfolg.
2. War das auch die Auto Quellcode Generierung von
   von Visual Studio.


MfG Meik

Fehlermedlungen

Schweregrad  Code  Beschreibung  Projekt  Datei  Zeile 
Unterdrückungszustand
Fehler  C2447  "{": Funktionsheader fehlt - Parameterliste im alten 
Stil?  bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  29
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
14
Fehler  C2143  Syntaxfehler: Es fehlt "," vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
14
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
15
Fehler  C2143  Syntaxfehler: Es fehlt "," vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
15
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Fehler  C2988  Unerkannte Vorlagendeklaration/-definition  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Fehler  C2143  Syntaxfehler: Es fehlt "," vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Fehler  C4430  Fehlender Typspezifizierer - int wird angenommen. 
Hinweis: "default-int" wird von C++ nicht unterstützt.  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
28
Fehler  C2988  Unerkannte Vorlagendeklaration/-definition  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
28
Fehler  C2143  Syntaxfehler: Es fehlt "," vor "<"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
28
Fehler  C2953  "myList": Klassenvorlage wurde bereits definiert. 
bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  17
Fehler  C2988  Unerkannte Vorlagendeklaration/-definition  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
22
Fehler  C2059  Syntaxfehler: "const"  bsplForum  d:\dokumente\visual 
studio 2017\projekte\bsplforum\bsplforum\mylist.h  22
Fehler  C2143  Syntaxfehler: Es fehlt ";" vor "{"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
23
Fehler  C2447  "{": Funktionsheader fehlt - Parameterliste im alten 
Stil?  bsplForum  d:\dokumente\visual studio 
2017\projekte\bsplforum\bsplforum\mylist.h  23
Fehler  C2062  "unknown-type"-Typ unerwartet  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
28
Fehler  C2143  Syntaxfehler: Es fehlt ";" vor "{"  bsplForum 
d:\dokumente\visual studio 2017\projekte\bsplforum\bsplforum\mylist.h 
29
Angehängte Dateien:
OP #5773403
Lesenswert?

Nochmals danke Rolf,

ja den anderen Thread hatte ich schon gesehen.
Bin heute nur echt reif für den Feierabend.
Und bekomme das nicht implementiert.

Und der Inhalt des this Zeigers ist doch die
Adresse des Objekt's. Und der Inhalt einer
Referenz ist doch auch diese Adresse ?!
Ich gebe ja nur eine Referenz zurück.
Aber gucke ich mir morgen mal an.

Dir noch einen schönen Abend.
MfG Meik
OP #5775365
Lesenswert?

Hallo Niklas,

danke für deine Antwort.
Ja, du hast Recht.

myList(const myList<T> & inst); //Kopierkonstruktor

wäre wesentlich besser.

Etwas konstruktive Kritik von meiner Seite.
Schreib doch vielleicht Antworten nicht so
das sie sich ihrer Erläuterung schuldig bleiben.

MfG Meik
OP #5775383
Lesenswert?

Richtig das Kommentar war falsch.

Wäre doch ganz nett gewesen eine richtige
Kopierkonstruktor Deklaration dem
gegen über zustellen.

Aber ich möchte jetzt keine Diskussion
vom Zaun brechen. Deswegen Danke für deine
Hilfe.

Es ist aber auch nur ein schnell
runtergetippter Beispiel Quellcode gewesen.
Der leider mit Flüchtigkeitsfehlern gespickt war.

MfG Meik
#5777418
Lesenswert?

Niklas G. schrieb:
> myList(); //Sonst weint Visual StudioIst aber gar nicht unbedingt nötig.
> Nur wenn du es irgendwo aufrufst...
> myList(const myVector<T> & inst); //Kopierkonstruktor
> Das ist die gefährlichste Art von Kommentar - er ist nämlich falsch! Das
> ist kein Copy Constructor, sondern nur ein "ganz normaler". Da lieber
> gar keinen Kommentar...

Naja, es ist ein Konvertierkonstruktor, das ist zwar was anderes als ein 
Kopierkonstruktor, aber geht in der gleichen Weise über einen "ganz 
normalen" Konstruktor noch etwas hinaus.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren