Wie kann ich feststellen, Visual Studio/Microsoft C compiler zu ermöglichen, Variablen-Deklarationen nach der ersten Anweisung?

Ich habe code, der kompiliert auf dem GNUARM compiler, aber Visual Studio 2010-Themen-Fehler. Das Problem betrifft das deklarieren von Variablen nach der ersten Anweisung in einem C-Sprache-Datei:

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;
}

Folgende code ohne Fehler kompiliert:

#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;
}

Ich bin mit den Standardeinstellungen für das erstellen einer Win32-Konsolen-Projekt. Wenn ich "Compile as" - Eigenschaft auf "Compile as C++ (/TP)", bekomme ich Kompilierungsfehler in einigen Visual Studio header-Dateien. (Rechte Maustaste auf Projekt, wählen Sie EigenschaftenKonfiguration EigenschaftenC/C++Erweiterte).

Wie sage ich Visual Studio 2010 zu ermöglichen, Variablen-Deklarationen nach der ersten Anweisung, wie C++ oder der aktuellen C-Sprache standard?

  • Beim kompilieren mit /TP, was sind die "Kompilierungsfehler in einigen Visual Studio header-Dateien"? Ich bekomme auch keine Fehler beim kompilieren deines Beispiels mit /TP.
  • Peinlich, kann man nicht. stackoverflow.com/questions/146381/...
  • Ich baute die {embedded} code als C++ (/TP) - und auch als C (/TC). Keine Fehler in der Visual Studio-header-Dateien. Komisch.
  • Vielen Dank für die Referenz.
Schreibe einen Kommentar