我有一个关于动态数组范围的快速问题,我认为这会导致我正在编写的程序中出现错误。此代码段检查函数参数并根据用户传递的内容分支到第一个或第二个。
但是,当我运行该程序时,我得到一个与范围相关的错误:
错误:未在此范围内声明“数组”
除非我对 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()];
}
任何人都可以对此有所了解吗?