나는이 프로젝트에 다음 코드 : 내가 컴파일 갈 때클래스 유형 오류의 이름이없는
#ifndef MAP_H
#define MAP_H
#include <string>
#include "MapCell.h"
using namespace std;
class Map{
public:
Map();
Map(int, int);
Map(string);
virtual ~Map();
private:
int grid_size;
MapCell * grid;
};
#endif
, 나는 오류 "오류 : 'MapCell'는 타입의 이름이없는"을 얻을 아직 때 필자는 MapCell * 그리드를 주석 처리하고 메인에서 다음 코드 블록을 실행합니다.
#include <iostream>
#include <cstdlib>
#include "MapCell.h"
using namespace std;
int main() {
MapCell * test_var;
test_var = new MapCell();
delete test_var;
cout << "Press enter to end process...";
cin.get();
cin.get();
return 0;
}
모두 잘 작동합니다. MapCell.h 및 .cpp 파일이 올바른 위치에 있으며 컴파일러가 기본에서 작동하므로 볼 수 있다고 생각합니다. 다른 질문을 읽었을 때 대부분의 대답은 문법 오류나 앞으로 선언 할 때 실제로 여기에 맞지 않는 것을 가리킬 것입니다. (뭔가 간과하지 않는 한)
여기에 무슨 일이 벌어지고 있는지에 대한 아이디어가 있습니까?
내 텔레파시 회로 사용 ... 아우라 필드 계획 ... ESP 간섭 패턴 스캔 ... 음, 죄송합니다. 일하지 않았어. –
아, 생각 : 문제의 헤더를 보는 것이 도움이 될 수 있습니다. 빌드 명령과 검색 경로는 물론. –
자, 네가 네임 스페이스'std'에'MapCell'의 선언을 넣었습니까? 또는 ... 같은 머리글을 포함 시켰습니까? 또는 ... 그 동안 헤더를 편집 했습니까? –