私のプログラムの一部に、次のコードがあります。
if(cameraName == L"AVT Prosilica GT2750") {
mCamera = new camera_avtcam_ex_t();
} else if(cameraName == L"QImaging Retiga 2000R\\4000R") {
mCamera = new camera_qcam_ex_t();
}
cameraName のデフォルトが L"AVT Prosilica GT2750" になるようにプログラムをセットアップすると (デバッガーはこれをその値として表示します)、if ステートメントに入ってmCamera = new camera_avtcam_ex_t();
実行しますが、次に実行される行に進むと、私のデバッガーはその行に直接スキップしてmCamera = new camera_qcam_ex_t();
実行します。if/else ステートメントの性質を考えると、これはどのように発生する可能性がありますか?
注: else if を単純な else ステートメントに置き換えると、同じ動作が見られます。