J'ai un petit problème avec une définition. Je veux l'assigner à une variable entière mais le compilateur dit qu'il n'est pas déclaré.C2065 identificateur non déclaré lors de l'affectation d'une définition à un int
Voici ce que le code ressemble à: defines.h
#ifndef DEFINES_H
#define DEFINES_H
#define MYDEFINE 2
#endif
MyClass.h
namespace mynamespace {
class myClass {
int someFunction();
};
}
myclass.cxx
#include "defines.h"
#include "myclass.h"
namespace mynamespace {
int myClass::someFunction() {
int var = MYDEFINE;
return 0;
}
}
Dans la ligne avec l'affectation int erreur de compilation a lieu. J'ai également essayé d'utiliser une autre définition, définie dans le même fichier d'en-tête que ci-dessus, comme un paramètre de fonction ayant le même effet. Des idées? Merci d'avance. Je sais que l'utilisation de define est une mauvaise habitude, mais je ne fais que prolonger un projet existant et j'essaie de rester dans leur conception.
EDIT: Le message d'erreur est simplement: Fehler 1 error C2065: 'MYDEFINE': nichtdeklarierter Bezeichner ...
Comme vous pouvez le voir ce n'est pas le vrai code source, mais je pense que j'ai été très prudent lors de l'élaboration de la question.
EDIT2: Merci pour l'indice avec le #warning. Il y avait 2 fichiers avec le même nom dans différents dossiers. Je ne sais pas pourquoi le compilateur n'a pas soulevé cette question. Quoi qu'il en soit, cela fonctionne maintenant.
S'il vous plaît inclure le message d'erreur exact que vous obtenez, parfois le diable est dans les détails. – unwind