VSE 2013: error C2011 (Neudefinition)

22/06/2015 - 16:35 von ha | Report spam
Hallo

Ich arbeite mit VSE 2013.

Bislang habe ich alles was ich brauchte, in einem Sourcefile
und meistens in einem Headerfile untergebracht.

Nun möchte ich aber verschiedene Sourcefiles einsetzen.

Mein Problem: Ich definiere eine Struktur in einem Hauptheaderfile,
die in mehreren der Sourcefiles benutzt wird.

Includiere ich das Hauptheaderfile im Hauptsource, erhalte ich eine
Fehlermeldung aus den anderen Sourcefiles, weil sie die Struktur nicht
kennen.

Includiere ich nun dieses Hauptheaderfile in den entspr. Sourcefiles,
erhalte ich den Fehler einer Neudefinition (error C2011).

Wie löse ich diesen "Widerspruch" auf?
 

Lesen sie die antworten

#1 Edzard Egberts
22/06/2015 - 16:51 | Warnen spam
Bislang habe ich alles was ich brauchte, in einem Sourcefile
und meistens in einem Headerfile untergebracht.

Nun möchte ich aber verschiedene Sourcefiles einsetzen.

Mein Problem: Ich definiere eine Struktur in einem Hauptheaderfile,
die in mehreren der Sourcefiles benutzt wird.

Includiere ich das Hauptheaderfile im Hauptsource, erhalte ich eine
Fehlermeldung aus den anderen Sourcefiles, weil sie die Struktur nicht
kennen.

Includiere ich nun dieses Hauptheaderfile in den entspr. Sourcefiles,
erhalte ich den Fehler einer Neudefinition (error C2011).

Wie löse ich diesen "Widerspruch" auf?



Indem Du folgendes in Deine Header-Files eintràgst:

#ifndef NAME_DEINES_HEADERFILES_H
#define NAME_DEINES_HEADERFILES_H

// Header

#endif

Das klappt dann, so lange NAME_DEINES_HEADERFILES_H nicht in zwei
Header-Files auftritt. ;o)

Ähnliche fragen