Funktion nicht im file scope?



  • Ich wundere mich gerade über folgenden Text

    A function declatation can contain the storage-class specifier static only if it is at file scope

    ??? mmh welche Gültigkeitsbereiche gibt es den?
    - file scope
    - block scope
    - prototype scope
    - function scope

    in welchen Gültigkeitsbereich können Funktionen definiert werden?
    nur im file scope

    welchen Sinn macht dann die Aussage von oben noch?



  • Vertexwahn schrieb:

    A function declaration can contain the storage-class specifier static only if it is at file scope

    in welchen Gültigkeitsbereich können Funktionen definiert werden?
    nur im file scope



  • ich meinte folgendes:

    Ich wundere mich gerade über folgenden Text

    A function declatation can contain the storage-class specifier static only if it is at file scope

    in welchen Gültigkeitsbereich können Funktionen deklariert werden?
    nur im file scope - oder?

    welchen Sinn macht dann die Aussage von oben noch?



  • Funktionen können mit file und block scope deklariert werden:

    void f(); // file scope
    void f() {
      void g(); // block scope
    }
    

    Prototype scope wär sowas:

    void f(void g());
    

    das ist aber offensichtlich Blödsinn.

    function scope betrifft nur goto-Labels.



  • Bashar schrieb:

    Funktionen können mit file und block scope deklariert werden:

    void f(); // file scope
    void f() {
      void g(); // block scope
    }
    

    💡
    haben wir mal wieder etwas gelehrnt

    gebt es doch zu! wer wußte das von euch vorher 😉



  • Bashar schrieb:

    void f() {
      void g(); // block scope
    }
    

    ist das nicht function scope?
    bestimmt meinste sowas

    void f() 
    {
      ...
      if/while/oder_ähnliches (...)
      {
        void g(); // block scope
        ...
      }
      ...
    }
    


  • Nein, ich meinte das so, wie ich es gesagt habe.


Anmelden zum Antworten