I have code that compiles on the GNUARM compiler, but Visual Studio 2010 issues errors. The issue involves declaring variables after the first statement in a C language file:
main.c
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
  int i = 6;
  i = i + 1;
  printf("Value of i is: %d\n", i);
  int j = i * 10; // <-- This is what Visual Studio 2010 complains about.
  printf("Value of j is: %d\n", j);
  return EXIT_SUCCESS;
}
The following code compiles without errors:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
  int i = 6;
  int j;      // <-- Declaration is now here, valid according to K&R rules.
  i = i + 1;
  printf("Value of i is: %d\n", i);
  j = i * 10; // <-- Moved declaration of j to above.
  printf("Value of j is: %d\n", j);
  return EXIT_SUCCESS;
}
I'm using default settings for creating a Win32 console project. When I set "Compile as" property to "Compile as C++ (/TP)", I get compilation errors in some Visual Studio header files. (Right click on project, choose Properties → Configuration Properties → C/C++ → Advanced).
How do I tell Visual Studio 2010 to allow variable declarations after the first statement, like C++ or the current C language standard?
 
     
     
     
     
    