클래스 재정의 오류에 문제가 있습니다. 나는 "Arraylist.cpp"와 "Arraylist.h"라는 파일을 받았다. 이상하게도, 강사는클래스 재정의 오류 C++
이 그것이 정말 이상한 경우에도 의미가 나에게#ifndef ARRLIST
#define ARRLIST
#include "Arraylist.h"
#endif
로 Arraylist.cpp에서 Arraylist.h 헤더 가드를 포함. 지금은 내가 Stack.h과 Queue.h 모두 포함, 스택 모두가 다른 클래스에서
#ifndef QUEUEARRLIST
#define QUEUEARRLIST
#include "Arraylist.h"
//Code
#endif
#ifndef STACKARRLIST
#define STACKARRLIST
#include "Arraylist.h"
//Code
#endif
아래에 나열된 적절한 헤더 가드의 ArrayList에서 상속 .CPP 및 .H 파일이 대기열 클래스가 있습니다. 컴파일 시간에 Arraylist.cpp에 "Class redefinition error"가 발생합니다. 이제 정상적인 사람처럼 Arraylist.cpp에서 Arraylist.h로 헤더 가드를 옮기면 오류가 발생하지 않고 모든 것이 잘 실행됩니다. 문제는 우리가 강사 코드를 전혀 수정할 수없는 과제에 있습니다. 따라서이 문제를 해결할 수있는 방법이 없습니까, 아니면 .cpp 파일의 헤더 가드를 포함하여 재검토해야한다고 교수에게 알려야합니까?
강사에게 이메일을 보내야합니다. 강사는 많은 실수를합니다. 그 (것)들과 명확히하십시오. – pippin1289
그건 완전히 망가졌습니다. 그들이 속한 머리말에 포함 경비원을두기 만하면됩니다. – juanchopanza