Difficile trovare un titolo appropriato per questo problema. Comunque ...Libreria di altri # conflitto di denominazione dei caratteri
Attualmente sto lavorando a un GUI per i miei giochi in SDL. Ho terminato il disegno del software e sono partito per iniziare la parte OpenGL di esso quando si è verificato un errore strano. Ho incluso l'intestazione "SDL/SDL_opengl.h" e compilato. Si genera "errore C2039: 'DrawTextW': non è un membro di 'GameLib :: FontHandler'", che è un errore abbastanza semplice, ma non ho nulla chiamato DrawTextW, solo FontHandler :: DrawText. Cerco DrawTextW e lo trovo in una chiamata #define nell'intestazione "WinUser.h"!
//WinUser.h
#define DrawText DrawTextW
Apparentemente sostituisce mia DrawText con DrawTextW! Come posso impedirmi di riversarsi nel mio codice in quel modo?
È una cosa secondaria cambiare il nome della mia funzione, ma i conflitti di denominazione come questo sembrano piuttosto pericolosi e mi piacerebbe davvero sapere come evitarli tutti insieme.
Cheers!
Sì, Windows.h si scontrano. Suppongo sia giusto lamentarsi che non si compili senza le estensioni ms abilitate, ma è anche ragionevole che un'intestazione specifica di ms debba (richiedere quelle estensioni). – bobobobo