PRB: Variable Scope in for-statement Extends Beyond Loop (167748)
The information in this article applies to:
- Microsoft Visual C++, 32-bit Editions 5.0
- Microsoft Visual C++, 32-bit Editions 6.0
This article was previously published under Q167748 SYMPTOMS
If you declare the same variable in two different for-statements, the
following error may appear:
Test.cpp(4) : error C2374: 'i' : redefinition; multiple initialization
CAUSE
The scope of a variable declared in the initialization part of a "for" loop
is given local scope, as if it had been declared immediately prior to the
for-statement.
RESOLUTION
Compile with /Za, Disable Language Extensions. To select this option in
Developer Studio, select Project, Settings, and then click the C/C++ Tab.
Change the Category to Customize and select Disable Language Extensions.
If you cannot use the /Za option, you can work around the problem by #defining the "for" keyword as follows:
#define for if(0);else for
Modification Type: | Minor | Last Reviewed: | 7/5/2005 |
---|
Keywords: | kbLangCPP kbprb KB167748 |
---|
|