저는 C++을 처음 접했고 현재까지 자신의 클래스를 만든 적이 없습니다. 사람들이 정상적으로 검토 할 수 있도록 코드를 게시하는 것을 싫어하지만 마감 기한이 만료되어 코드를 컴파일해야합니다.C++ 클래스를 만드는 중 오류가 발생했습니다.
-error : 나는 세 가지 오류를 얻을 이전의 선언보다`RobotDeadReckoner :: RobotDeadReckoner() 던져() '이 줄 에서
- 여러 마커 - 오류 : RobotDeadReckoner::RobotDeadReckoner()' throws different exceptions - error: definition of implicitly-declared
RobotDeadReckoner :: RobotDeadReckoner의 선언()
-error : 아니 RobotDeadReckoner::~RobotDeadReckoner()' member function declared in class
RobotDeadReckoner '
코드는 다음과 같다 :
#include <cmath>
#include "WPILib.h"
class RobotDeadReckoner
{//<---------------------Error
public:
float getX();
float getY();
float getHeading();
private:
Encoder *encoder1;//Encoder1 (Left Transmision while looking from the back)
Encoder *encoder2;//Encoder2 (Right Transmision while looking from the back)
int wheelRadius;//Wheel Radius (Center Wheel)
float axleWidthCenterToCenter;
int encoderTicksPerRotation;
int transmitionSprocketTeeth;
int wheelSprocketTeeth;
int ticksPerRotation; //ticks per rotation of wheel
float encoderTicks1;
float encoderTicks2;
float pi;
};
RobotDeadReckoner::RobotDeadReckoner()
{//<---------------------Error
wheelRadius = 4;//Wheel Radius (Center Wheel)
axleWidthCenterToCenter = 30+(7/8);
encoderTicksPerRotation = 360;
transmitionSprocketTeeth = 12;
wheelSprocketTeeth = 26;
ticksPerRotation = (wheelSprocketTeeth/transmitionSprocketTeeth)*encoderTicksPerRotation; //ticks per rotation of wheel
encoderTicks1 = encoder1->Get();
encoderTicks2 = encoder2->Get();
pi = atan(1)*4;
}
float RobotDeadReckoner::getX()
{
float x = wheelRadius*cos(getHeading())*(encoderTicks1+encoderTicks2)*(pi/ticksPerRotation);
return x;
}
float RobotDeadReckoner::getY()
{
float y = wheelRadius*sin(getHeading())*(encoderTicks1+encoderTicks2)*(pi/ticksPerRotation);
return y;
}
float RobotDeadReckoner::getHeading()
{
float heading = (2*pi)*(wheelRadius/axleWidthCenterToCenter)*(encoderTicks1-encoderTicks2);
return heading;
}
RobotDeadReckoner::~RobotDeadReckoner()
{ //<---------------------Error
}
나는 그것이 어리석은 단순한 것이라고 확신한다. C++에 대해서는 모르지만, 어떤 도움을 주시면 감사하겠습니다!
getX() 및 getY() 규칙에는 X라는 변수와 Y라는 변수가 있다고 가정합니다. 둘 다 가지고 있지 않습니다. getter가 얻는 것을 설명하지 마십시오. – KevinDTimm