A * 길 찾기 알고리즘이있는 라이브러리 (libtcod)를 사용하고 있습니다. 내 클래스는 콜백 기본 클래스를 상속하고 필요한 콜백 함수를 구현합니다. 여기 내 일반적인 예는 다음과 같습니다const 함수 재 작성
class MyClass : public ITCODPathCallback
{
...
public: // The callback function
float getWalkCost(int xFrom, int yFrom, int xTo, int yTo, void *userData) const
{
return this->doSomeMath();
};
float doSomeMath() { // non-const stuff }
};
나는에 const_cast 및 static_cast를 사용하여 예제의 번호를 찾았지만 그들은 const가 아닌 함수는 const를 함수 결과를 반환 할 수있어 다른 방법으로 갈 것 같았다. 이 예제에서는 어떻게 할 수 있습니까?
getWalkCost()는 변경할 수없는 내 라이브러리에 의해 정의되어 있지만, const가 아닌 것을 할 수 있기를 원합니다.
정말 확실합니까? 당신은 getWalkCost 계약을 위반하고 있다는 것을 알고 있습니다. 아무 것도 수정하지 않는다고 약속합니다. –