for(int i=0; i<=end; ++i){
if(a[i] > max){
t=i; max=a[i] // ← 此處缺少分號
}
}
for(int i=0; i<=t; ++i){ // 編譯器報 i 重複定義
cout << a[i];
}
第一個 if 區塊缺少分號,導致編譯器將後續的 for(int i=0; ...) 視為 if 的單一陳述式(因無大括號),進而認為在同一作用域內重複宣告 i。
if(a[i] > max){
t=i; max=a[i]; // 加上分號
}
if (a[i] > max) {
t = i;
max = a[i];
}
-Wall -Wextra (GCC/Clang) 或 /W4 (MSVC) 可提前發現此類問題。