Betrachten Sie das folgende Programm:Zugriff auf Variablen in einem verschachtelten Block neu definiert
#include <iostream>
using std::cout;
int i = 10;
int main() {
int i = 9;
{
int i = 8;
{
int i = 7;
cout << i << "\n"; // i = 7
cout << ::i << "\n"; // i = 10 (global i)
// How could we access to other i declarations here?
}
}
return 0;
}
i
in dem verschachtelten Block referes zu den letzten Erklärungen von i
zu verwenden, da diese die anderen Erklärungen verbergen. Um die globalen i
(die Erklärungen außerhalb der Funktion main) zu verwenden, konnten wir ::i
verwenden würde ich gerne wissen, ob es einen Weg gibt, die anderen decalarations von i
innerhalb des verschachtelten Block zu verwenden.
Kurz gesagt: Es ist nicht möglich. Also tu es einfach nicht. –
Es gibt keine Möglichkeit, andere Namen zu verwenden, wenn Sie auf die äußere Bereichsvariable zugreifen müssen – Slava
Warum würden Sie Code wie diesen schreiben? –