Regeln für Bezeichner



  • In dem Buch C/C++ Kompendium steht auf Seite 109 das so etwas dem ANSI Standard entspricht:

    struct vektor
    {
    	int x, y;
    	struct vektor vektor;
    } vektor;
    

    Ich habs durch meinen MsVS .Net 2003 und durch den g++ Compiler gejagt – es wurde nicht korrekt übersetzt – sind beide Compiler nicht standradkonform oder ist dem Autor ein Fehler unterlaufen?

    Falls die Syntax stimmt: Was die die Bedeutung diese Konstrukts?



  • Vertexwahn schrieb:

    In dem Buch C/C++ Kompendium steht auf Seite 109 das so etwas dem ANSI Standard entspricht:

    struct vektor
    {
    	int x, y;
    	struct vektor vektor;
    } vektor;
    

    Ich habs durch meinen MsVS .Net 2003 und durch den g++ Compiler gejagt – es wurde nicht korrekt übersetzt – sind beide Compiler nicht standradkonform oder ist dem Autor ein Fehler unterlaufen?

    Dem Auto ist ein Fehler unterlaufen. Das ist weder gültiges C noch C++. vektor kann nicht rekursiv ein Objekt von sich selbst enthalten.
    Wahrscheinlich meinte er sowas:

    struct vektor
    {
    	int x, y;
    	struct vektor* vektor;
    } vektor;
    

Anmelden zum Antworten