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 sehen

    Mit 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 von

    Bild[x][y] = farbcode;
    

    bzw.

    Bild[y*Breite+x] = farbcode;
    

    ?


Log in to reply