I가 한 const int infoLTotal
다음과 같은 전역 변수로 정의 :
const int MAX_NUM_GINSU_PER_CYCLE = 32;
const int nViewPerGinsu = 256;
const int infoLTotal = MAX_NUM_GINSU_PER_CYCLE*nViewPerGinsu;
내가의 변수에 내 마우스를 이동하면 infoLTotal
, 완벽하게 벌금을 보여줍니다 8192
. 그러나 디버깅 모드를 시작하면 0이 표시되는 것을 보았습니다. 예를 들어 다음 줄에서
if (intX + intY < infoLTotal) // infoLTotal shows 0 here, on mouse
그러나 다른 변수에 값을 줄 때 a, a는 실제로 8192
다음과 같이입니다.
int a = infoLTotal; // a shows 8192 here, but infoLTotal still shows 0, on mouse
그래서 vs2010이 디버그 모드에서 const int가 진정으로 무엇인지 보여주지 않는 것 같습니다. 아니면 정말 0
입니까? 혼란 스럽습니다.
VS 2010 10.0.30319.1에서 코드를 사용한 내 테스트는 마우스를 가리키면 8192를 표시합니다.
문제를 디버깅하려면 먼저 주 기능 만 포함 된 간단한 솔루션을 만들 수 있습니다. 그런 다음 코드를 복사하여 붙여넣고 IDE에 버그가 있는지 테스트합니다. 위의 테스트가 통과되면 8192가 표시 될 때까지 일부 코드를 주석 처리해야합니다. 마지막으로 주석 처리 코드를 다시 검사하여 문제를 찾습니다.
내 추측은 특정 빌드의 VS 버그입니다.
PS : 디버그 모드를 사용하고 있다고 말씀하셨습니다. 디버그 구성에서 프로젝트를 빌드했는지 확인해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다