편집 : 문제는 #includes에서 서클을 만드는 것이 과장된 것 같습니다. 나는 필요한 것만 포함하고 처음 두 가지 오류를 해결했습니다.배열의 크기가 '초과'되었지만 배열이 작습니다.
그러나}, 나는 아직도 모두 버튼과 엘리베이터
그것은 각 오류의 두 가지가 있습니다에 대한 "지정된 여러 기본 생성자"를 얻을 수 있지만, 같은 위치에서 한 쌍 점 모두의 결말; 수업의
편집 : 두 번째 오류도 해결되었습니다. 빈 Class :: Class()를 제거했습니다. 그게 사용되지 않았어.
================= 오류가 발생합니다. "오류 C2148 : 배열의 전체 크기는 0x7fffffff 바이트를 초과해서는 안됩니다
객체 배열을 만드는 클래스 정의의 첫 번째 줄은 클래스 또는 배열의 크기에 관계없이이 오류를 제공합니다. "Elevator elevators [1];" Elevator 객체가 약 70 바이트인데도 오류가 발생하지만 int, 문자열 등의 배열은 매우 큰 경우에도 멈추지 않습니다.
코드에 무엇을 포함해야할지 잘 모르겠습니다. 이를 위해.
class Passenger;
class Simulation{
int test[10000];<-- no error
std::queues<int> q[10];<--- no error
Elevator e[1];<--- size error, but size of one Elevator is only 70 bytes
}
"시뮬레이션 : 엘리베이터가 정의되지 않은 클래스 엘리베이터를 사용합니다."라는 오류가 있지만 그 아래에서 초기화 된 것은 입니다. 또한 #included passenger.h가 있습니다. 나는 원래 벡터를 사용했지만 실제로는 더 많은 문제를 일으키고 있었고 크기가 일정하기 때문에 실제로 필요하지 않습니다.
추가 테스팅에서 내 개체 (Report) 중 하나가 오류를 표시하지 않지만 여러 벡터가 관련된 경우 더 큰 것으로 나타났습니다. . 추가 풀 엘리베이터 요청에 따라 정의 :
편집 (사실에 관계없이 코드에서 그들이
편집 곳 모두 엘리베이터 및 버튼에 대한 오류를 제공합니다 또한 버튼을 포함
class Elevator{
private:
int floor;
int floorGoal;
int answering;
int floorIdle;
bool goingUp;
int mode;
int nextMode;
int nextModeTime;
int numPassengers;
static const int maxPassengers = 8;
int passengers[maxPassengers];
static const int moveTime = 15;
static const int boardTime = 3;
static const int leaveTime = 3;
static const int delayTime = 10;
public:
Elevator();
Elevator(int Floor = 1);
~Elevator();
bool IsFull() const;
bool IsEmpty() const;
void Update(int timeElapsed, int i, PassengerGenerator& gen, Report& r, Button b[], Elevator e[], std::queue<int> q[]);
friend class Simulation;
};
, 이 같은 오류를 가지고 있지만 훨씬 간단하기 때문에
class Button{
private:
int answered;
bool pressed;
bool up;
public:
Button();
Button(int Floor = 1, bool Up = true);
~Button();
inline bool IsCalling() const{ return pressed && answered == -1;}
friend class Elevator;
friend class Simulation;
};
내가 멀리 목록을 아래로 또 다른 오류가 발견이 일 동안은. 그것은 여러 defau 말한다 lt 생성자 및 버튼 모두에 대해 지정된 '생성자'입니다. 그러나 두 형식 모두 매개 변수가없는 매개 변수가 하나만있는 것으로 확인되었습니다. Class :: Class() {}
엘리베이터 유형 정의하십시오. – ScarletAmaranth
플랫폼 및 컴파일러는 무엇입니까? –
문제는 실제로 정의되지 않은 클래스의 사용이라고 생각합니다. Elevator의 정의와 클래스와 관련된 위치를 포함하십시오. 시뮬레이션 – JSQuareD