내 bool에 대한 예기치 않은 값이 계속 나타납니다 testValue
. 다른 영역의 메모리에 액세스하려고한다고 생각할 때 난 계속 임의의 숫자를받습니다. 내 코드가 내 testNumber()
함수 내에서 설정되는 방법을 예측하지만,이를 해결하는 방법은 확실하지 않습니다. 이게 내 논리 야.C++ - 포인터를 함수에 전달
나는 ok
을 true로 설정했습니다. 이제 ok
의 메모리 주소를 pOk
에 할당합니다.
void TextBox::lengthTest(bool *pOk, int length) {
bool ok;
if (length < MAX_LENGTH) {
ok = true;
pOk = &ok;
} else {
ok = false;
pOk = &ok;
}
}
bool lengthTestBool = lengthTest(*pOk, length);
cout << lengthTestBool <<;
출력 :
85
와우, 이건 실제로 컴파일되는거야? –
예. 나는 이상한 결과를 얻는다. – user27279
아니요 컴파일 중입니다. 이 함수는 무효이며 호출 사이트의'* pOk'가 실제로'bool'에 대한 포인터라고 믿지 않습니다. 실제 코드를 게시하면 도움이 될 것입니다. 복사/붙여 넣기를 사용하십시오. 그리고 이상한 결과가 나오면 그 결과가 무엇인지 추측하지 마십시오. 귀하의 질문에 그들을 포함시킵니다. –