私のブールの予期しない値を受け取り続ける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
いいえ、それはコンパイルされていません。この関数はvoidであり、コールサイトの '* pOk'が実際には' bool'へのポインタであるとは考えていません。あなたが実際のコードを投稿した場合、それは役に立ちます。コピー/貼り付けを使用します。そして奇妙な結果が得られたら、その結果が何であるかを推測させないでください。あなたの質問にそれらを含める。 –