У меня небольшая проблема с определением. Я хочу присвоить его целочисленной переменной, но компилятор говорит, что он не объявлен.
Вот как выглядит код:
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;
}
}
В строке с присваиванием int происходит ошибка компилятора. Я также попытался использовать другое определение, определенное в том же заголовочном файле, что и выше, в качестве параметра функции с тем же эффектом. Есть идеи? Заранее спасибо.
Я знаю, что использование определений - плохая привычка, но я только расширяю существующий проект и стараюсь придерживаться их принципов проектирования.
РЕДАКТИРОВАТЬ: Сообщение об ошибке просто: Fehler 1 error C2065: 'MYDEFINE': nichtdeklarierter Bezeichner ...
Как вы могли заметить, это не настоящий исходный код, но я думаю, что я был очень осторожен при составлении вопроса.
EDIT2: Спасибо за подсказку с предупреждением. В разных папках было 2 файла с одинаковыми именами. Я понятия не имею, почему компилятор не поднял это. Во всяком случае, это работает сейчас.