CONST 기능 (C++) 내에서 const가 아닌 함수를 호출하는 방법 :I는 다음과 같습니다 레거시 기능이
int Random() const
{
return var_ ? 4 : 0;
}
을하고 난 그래서 지금 레거시 코드 내에서 함수를 호출 할 필요가 다음과 같습니다 생를 해결하기 위해 지금
In member function 'virtual int Random() const':
class.cc:145: error: passing 'const int' as 'this' argument of 'int newCall(int)' discards qualifiers
내가 아는 :
int Random() const
{
return var_ ? newCall(4) : 0;
}
문제는 내가이 오류를 얻고 있다는 것입니다 s error 내 newCall()
을 const 함수로 만들 수있다. 그런데 내가 만든 newCall()
에 몇 가지 funciton 호출이 있습니다. 그래서 이제는 모든 함수 호출을 const로 만들어야 할 것입니다. 그리고 결국에는 내 프로그램이 const가 될 것이라고 생각할 때까지 계속됩니다.
내 질문 : Random() 내에서 const가 아닌 함수를 호출하는 방법이 있습니까? 또는 누군가 내 프로그램 const를 반 만들지 않고 newCall()
을 Random()
내에 구현하는 방법에 대한 아이디어가 있습니까? 당신은 새 통화가 "이"을 수정하지 않습니다 확신하는 경우
Random()을 const가 아닌 것으로 만들 수 있습니다. – GWW
Random()은 내가 만질 수없는 레거시 코드입니다. – Grammin
4가 공평하지 않은 주사위로 선택 되었습니까 (따라서 실제로는 무작위로 지정됩니다). –