[C++]forループで宣言された変数の役割ドメイン

2575 ワード

従来、forループで宣言変数の役割ドメインは外層文ブロックである、ANSI規格(ANSIのウィキペディア)は、これらの変数の役割ドメインがforループ自体の文ブロックであることを規定するように修正するが、すべてのコンパイラがこの変更をサポートしているわけではない.
C++がこの修正をサポートしているかどうかをテストします.
#include <iostream>
using namespace std;
int main()
{
int j=1;
for(int i=0;i<2;i++)
{
j++;
}
cout<<"i="<<i<<endl;

int n;//
cin>>n;
return 0;
}
1>------      :   : Person,   : Debug Win32 ------
1> ...
1>main.cpp
1>g:\ \vs2008project\person\person\main.cpp(18) : error C2065: “i”:
1> “file://g:\ \VS2008Project\Person\Person\Debug\BuildLog.htm”
1>Person - 10
========== : 0100 ==========

コンパイルはパスできません.iはまだ定義を宣言していないので、C++はこの修正をサポートしています.他のプログラミング言語は自分でテストできます
 
作者:林が舞い上がる出典:http://www.cnblogs.com/zhengyuhong/本文の著作権は作者とブログ園に共有され、転載を歓迎するが、作者の同意を得ずに作者の情報を保留し、文章のページの明らかな位置で原文の接続を与えなければならない.