Von c++ in Ansi C im VS 2008
-
Ich habe eine Projekt programmiert - es war für die Uni und funktioniert auch einwandfrei - nun soll ich es aber als VS2008 Projekt in ANSI C abgeben.
Das gibt es ja erstmal so nicht, also habe ich das Projekt neu angelegt und alle Dateien als .c gespeichert - wie in der MS Knowledge Base beschrieben.
Nun habe ich den Code rüberkopiert und wollte Fehler korrigieren - allerdings ist das absolut sinnfrei, weil der Debugger mir überhaupt keine sinvollen Lösungen bietet...
Also habe ich mal irgendein Testprojekt gemacht, da zeigt er mir bei
int a = 0;
sogar einen Fehler an Was muss ich denn machen um ein C Projekt im VS 2008 zu erstellen - bitte helft mir...
-
Du müsstest alles richtig gemacht haben. Da Visual Studio über die Dateiendung entscheidet ob ein C++ oder ein C compiler eingesetzt wird.
Zu der Sache das int a = 0; einen Fehler wirft kann man schwer was sagen.
Da müsste man den Quellcode mal sehenMit freundlichen Gruß
-
Hallo,
C Dude schrieb:
Also habe ich mal irgendein Testprojekt gemacht, da zeigt er mir bei
int a = 0;
sogar einen Fehler an Was muss ich denn machen um ein C Projekt im VS 2008 zu erstellen - bitte helft mir...wenn dein int a = 0; irgendwo mitten im Code steht, dann ist das ein Syntaxfehler.
Sowas ginge zwar mit dem C99 Standard, den kennt VS aber nicht.
Du musst also deine Deklarationen an den Anfang eines mit geschweiften Klammern umschlossenen Blocks setzen.
-
Das wird es wohl sein - danke Big Brother - da habe ich ja noch eine ganze Menge Arbeit vor mir Aber jetzt weiß ich wenigstens woran es erstmal liegt.
-
Jetzt habe ich die meisten Sachen gedreht bekommen, aber mein dreidimensionales Array bekomme ich im Ansi C nicht hin
Mein Array soll ein Bild abbilden, dass ich Byteweise ausgelesen habe, also
Bild[Zeile][Spalte][Farbcode] ( wobei Farbcode 0 für rot, 1 für grün und 2 für blau)
So wie im C++ geht es definitiv nicht und mit malloc weiß ich nicht, was ich machen soll...
struct BildNutzdaten GenerateNewBild(long hoehe, long breite) { //der Rückgabewert struct BildNutzdaten bildneu; bildneu.breite = breite; bildneu.hoehe = hoehe; bildneu.farbwerte = new int **[bildneu.hoehe]; for (int bla = 0; bla < bildneu.hoehe; bla++) { bildneu.farbwerte[bla] = new int *[bildneu.breite]; for (int bli = 0; bli < bildneu.breite; bli ++) { bildneu.farbwerte[bla][bli] = new int [3]; } } return bildneu; }
-
Wozu ein 3D Array?
Es tut doch auch ein Array im Sinne vonBild[x][y] = farbcode;
bzw.
Bild[y*Breite+x] = farbcode;
?