我有一个定义的小问题。我想将它分配给一个整数变量,但编译器说它未声明。
下面是代码的样子:defines.h
#ifndef DEFINES_H
#define DEFINES_H
#define MYDEFINE 2
#endif
我的班级.h
namespace mynamespace {
class myClass {
int someFunction();
};
}
我的班级.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:感谢#warning 的提示。在不同的文件夹中有 2 个同名文件。我不知道为什么编译器没有提出这个。无论如何,它现在有效。