정의에 작은 문제가 있습니다. 정수 변수에 할당하고 싶지만 컴파일러에서 선언하지 않았다고합니다. 여기 C2065 정의를 int에 할당하는 동안 선언되지 않은 식별자
코드가 어떻게 표시되는지를 보여줍니다 같은 : defines.h#ifndef DEFINES_H
#define DEFINES_H
#define MYDEFINE 2
#endif
에서 MyClass.h
namespace mynamespace {
class myClass {
int someFunction();
};
}
myclass.cxx
INT 할당을 라인에서#include "defines.h"
#include "myclass.h"
namespace mynamespace {
int myClass::someFunction() {
int var = MYDEFINE;
return 0;
}
}
컴파일러 오류가 발생합니다. 또한 위와 같은 헤더 파일에 정의 된 다른 정의를 동일한 효과의 함수 매개 변수로 사용하려고했습니다. 어떤 아이디어? 미리 감사드립니다.
나는 정의를 사용하는 것이 나쁜 습관이라는 것을 알고 있지만, 기존 프로젝트를 확장하고 그들의 디자인 방식을 유지하려고합니다.
편집 : 오류 메시지는 간단히 : Fehler 1 error C2065: 'MYDEFINE': nichtdeklarierter Bezeichner ...
이것은 실제 소스 코드가 아니라는 것을 알 수 있습니다. 그러나 나는 질문을 정리하는 동안 매우 신중하다고 생각합니다.
EDIT2 : # 경고와 함께 힌트를 주셔서 감사합니다. 서로 다른 폴더에 같은 이름의 파일이 두 개있었습니다. 나는 왜 컴파일러가 이것을 가져 오지 않았는지 전혀 모른다. 어쨌든 이제는 작동합니다.
정확한 오류 메시지를 포함 시키십시오. 때로는 악마가 자세히 나와 있습니다. – unwind