Lokale/statische Variablen Gültigkeitsbereich in C++

Wenn ich etwas schreiben wie dieses:

#include <iostream>

int main()
{
    using namespace std;

    {int n;n=5;} cout<<n;
    system("pause");
    return 0;
}

Der compiler sagt mir, dass n ist schwarzarbeit. Dann habe ich versucht, so dass es statisch ist, aber wieder, der compiler sagt mir, dass es schwarzarbeit. Nicht eine variable declated statische Programm-Bereich? Wenn nicht, wie kann ich bei der Verwendung von n in diesem Programm?

  • Vielleicht, weil der {int n;n=5;}? Warum müssen Sie die geschweiften Klammern da?
  • Sie mischen Sichtbarkeit/Zugänglichkeit und Lebensdauer. (Bitte wählen Sie eine C oder C++ wenn Sie Fragen über diese Art von detail. Kann es sein subtile (oder nicht so subtile) Unterschiede zwischen Ihnen.)
  • Ich möchte herausfinden, ob es einen Weg gibt, um bei der Verwendung von n mit den geschweiften Klammern gibt.
  • gibt es bezüglich meiner Frage?
  • In diesem sehr konkreten Fall mit n nicht-statische glaube ich nicht so. Mit n statische wahrscheinlich nicht in diesem Umfang. Im globalen Gültigkeitsbereich die es dort gibt. Wenn du gehst, um eine Frage stellen über beide Sprachen (was Sie nicht sollte, es sei denn, Ihre Rede-interop oder Unterschiede zwischen Ihnen), zumindest ein code-Beispiel, die "glaubwürdig" in beiden Sprachen.
Schreibe einen Kommentar