編譯器警告 (層級 1) C4288
使用的非標準延伸模組: 'var' : for-loop 中宣告的迴圈控制變數是在 for-loop 範圍之外使用;它與外部範圍中的宣告衝突
使用 /Ze
和 /Zc:forscope-編譯時,會在 for-loop 範圍之後使用迴圈中for
宣告的變數。 C++語言的Microsoft延伸模組可讓此變數保留在範圍內,而 C4288 會提醒您,不會使用變數的第一個宣告。
如需 /Zc:forScope
如何使用 /Ze 在迴圈中 for
指定Microsoft延伸模組的相關信息。
下列範例會產生 C4288:
// C4288.cpp
// compile with: /W1 /c /Zc:forScope-
int main() {
int i = 0; // not used in this program
for (int i = 0 ; ; ) ;
i++; // C4288 using for-loop declaration of i
}