動的配列のスコープに関して簡単な質問があります。これは、私が書いているプログラムでバグを引き起こしていると思います。このスニペットは、関数パラメーターをチェックし、ユーザーが渡す内容に応じて、最初または 2 番目のいずれかに分岐します。
ただし、プログラムを実行すると、スコープ関連のエラーが発生します。
エラー: 'Array' はこのスコープで宣言されていません
C++ に関する私の知識に失敗しない限り、分岐が終了すると、条件内で作成された変数が範囲外になることを知っています。ただし、これらの配列を動的に割り当てたので、ポインターはそのままにしておく必要があるため、プログラムの後半で配列を操作できない理由がわかりません。
//Prepare to store integers
if (flag == 1) {
int *Array;
Array = new int[input.length()];
}
//Prepare to store chars
else if (flag == 2) {
char *Array;
Array = new char[input.length()];
}
誰でもこれに光を当てることができますか?