Klassen Konstruktoren

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Klassen Konstruktoren

Beitrag von MoonGuy » Fr Okt 07, 2011 12:19 pm

Mal eine kleine Frage:
Ich habe mir von VC eine Vorlage zum Erstellen einer DLL Klassenbibliothek erstellen lassen, da die Hilfen im MSDN bezüglich Klassenbibliotheken (erstellen) sehr unhilfreich finde. VC erstellte mir folgendes Konstrukt:

Code: Alles auswählen

namespace Projektname {
  public ref class Class1 {
  };
}
So weit, so gut. Ich habe nun in Class1 sowohl Konstruktor als auch Destruktor eingetragen und auch in die *.cpp Datei beide vermerkt und den Header included. Nun erhalte ich folgende Compilermeldungen:
1>Class1.cpp(7): error C2059: Syntaxfehler: ')'
1>Class1.cpp(7): error C2143: Syntaxfehler: Es fehlt ';' vor '{'
1>Class1.cpp(7): error C2447: '{': Funktionsheader fehlt - Parameterliste im alten Stil?
1>Class1.cpp(14): error C2588: "::~Class1": unzulässiger globaler Destruktor.
Muss ich daraus schließen, dass Klassen aus Klassenbibliotheken keinen Konstruktor/Destruktor haben können. Oder habe ich irgendwas bezüglich Namespaces vergessen?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Klassen Konstruktoren

Beitrag von Xin » Fr Okt 07, 2011 12:28 pm

Um welche Sprache geht's hier eigentlich?

Sicher, dass Du C++.NET meinst?
Ansonsten kann ich mir "public ref class" nämlich nicht erklären.

Ansonsten hast Du Code eingefügt, so dass Du in Zeile 7 und 14 Fehler erhältst, während Du Zeile 1-4 im Zustand vor den Änderungen hier postest.

Du kannst daraus schließen, dass hier keiner auch nur den Hauch einer Idee haben könnte, was hier abgeht.
Der Blick in die Kristallkugel sagt mir allerdings, dass Du die Signatur des Konstruktors versaut hast. Just an educated guess.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Re: Klassen Konstruktoren

Beitrag von MoonGuy » Fr Okt 07, 2011 12:33 pm

Xin hat geschrieben:Um welche Sprache geht's hier eigentlich?

Sicher, dass Du C++.NET meinst?
Ansonsten kann ich mir "public ref class" nämlich nicht erklären.

Ansonsten hast Du Code eingefügt, so dass Du in Zeile 7 und 14 Fehler erhältst, während Du Zeile 1-4 im Zustand vor den Änderungen hier postest.

Du kannst daraus schließen, dass hier keiner auch nur den Hauch einer Idee haben könnte, was hier abgeht.
Der Blick in die Kristallkugel sagt mir allerdings, dass Du die Signatur des Konstruktors versaut hast. Just an educated guess.
Ist "Signatur eines Konstruktors" ein Fachbegriff, den ich kennen muss?

Wollte gerade meinen Code posten, da fiel mir beim abtippen der Fehler auf: "using namespace Projektname;" in Class1.cpp vergessen. Deshalb konnte er gar nicht bis zur Klasse vordringen.

€dit: Ach und ja, ist C++ .NET

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Klassen Konstruktoren

Beitrag von Xin » Fr Okt 07, 2011 12:46 pm

MoonGuy hat geschrieben:Ist "Signatur eines Konstruktors" ein Fachbegriff, den ich kennen muss?
Sagen wir mal so, es vereinfacht die Kommunikation ;-)

-> Funktionen deklarieren
MoonGuy hat geschrieben: Wollte gerade meinen Code posten, da fiel mir beim abtippen der Fehler auf: "using namespace Projektname;" in Class1.cpp vergessen. Deshalb konnte er gar nicht bis zur Klasse vordringen^^
Der Namespace ist Teil des Identifiers (des Namens, der eine Funktion identifiziert).
Du hast die Signatur verhauen. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten