C++에서 다른 파일의 클래스를 인식하지 못하는 하나의 파일 내가 파일 "Particles.h"및 클래스의 구현 내부에 내 자신의 클래스가
내가 "Load.h을 파일을 원하는"Particles.cpp "내부에 "이 안에 내 수업을 인식하고, 그래서 라인을#include "Particles.h"
을 추가했고 파일을 인식하고 지난 모든 일에 (내가 그 클래스 내부에 변경을하지 않은 경우) 확인했다하지 않습니다.
어떻게해야합니까?
C++에서 다른 파일의 클래스를 인식하지 못하는 하나의 파일 내가 파일 "Particles.h"및 클래스의 구현 내부에 내 자신의 클래스가
내가 "Load.h을 파일을 원하는"Particles.cpp "내부에 "이 안에 내 수업을 인식하고, 그래서 라인을#include "Particles.h"
을 추가했고 파일을 인식하고 지난 모든 일에 (내가 그 클래스 내부에 변경을하지 않은 경우) 확인했다하지 않습니다.
어떻게해야합니까?
#include 파일을 찾기 위해 컴파일러가 검색하는 디렉토리 목록은 포함 경로와 비슷하게 들립니다. 어떤 컴파일러를 사용하고 있습니까?
"Particles.cpp"파일에도 "Particles.h"가 포함되어 있고 파일이 같은 폴더에 있고 모두 같은 프로젝트에 속하는지 확인하십시오. 컴파일러에서 가져 오는 오류 메시지를 공유하면 도움이됩니다.
데브 C++, 그것은 GCC를 사용 라인은 다음과 같습니다
Stone *stone[48];
을하며 말한다 : " '*'토큰 전에 예상 생성자, 소멸자, 또는 형식 변환".
오류 코드를 나열하면 도움이 될 수 있습니다. 내 머리 꼭대기에서 Particles.h에 파일이 한 번만 포함되어 있는지 확인하십시오. 이 작업에는 두 가지 방법이 있습니다. 첫 번째는 #pragma를 한 번 사용하는 것이지만 Microsoft 특정 것일 수 있습니다. 두 번째는 #define을 사용하는 것입니다. 예 : 또한
#ifndef PARTICLES_H
#define PARTICLES_H
class CParticleWrapper
{
...
};
#endif
, 당신은 Particles.h의 클래스에서 파생 또는 대신 포인터의 클래스의 인스턴스를 사용하지 않는, 당신은 클래스의 전방 선언을 사용하여 헤더를 포함 건너 뛰기 파일을 헤더 파일에 저장하면 컴파일 시간이 절약됩니다.
#ifndef LOAD_H
#define LOAD_H
class CParticleWrapper;
class CLoader
{
CParticleWrapper * m_pParticle;
public:
CLoader(CParticleWrapper * pParticle);
...
};
#endif
그런 다음 Load.cpp에 particle.h 파일을 포함시킵니다.
Stone 클래스의 정의를 포함해야하는 것처럼 들리지만 자세한 내용 없이는 말할 수 없습니다. 관련없는 코드를 제거하고 게시하여 오류 범위를 좁힐 수 있습니까?