Um Ancient87's Post zusammenzufassen:
Variablen, die in einem Block ( { } ) definiert sind, sind auch nur in diesem (und ggf. in diesem Block enthaltenen Blöcken) gültig. Man spricht von einem Gülitigkeitsbereich.
Daher sagt Ancient87 auch "scoping issue" (scope = (Gültigkeits-)Bereich, issue = Problem).
Kleines Beispiel:
Code:
{
{
int meineVariable;
// meineVariable ist hier definiert und kann benutzt werden:
meineVariable = 1;
{
// meineVariable ist auch hier definiert:
meineVariable = 2;
}
}
// meineVariable ist hier NICHT MEHR DEFINIERT
meineVariable = 3; // FEHLER: undefined symbol 'meineVariable'...
}
Im Klartext: wenn du willst, dass der String-Vector "Daten" in der gesammten main-Funktion definiert ist, solltest du ihn am Anfang des main-Blocks definieren, oder kurz bevor er benutzt wird - achte dabei aber darauf, dass "Daten" nur in dem Block benutzt wird, in dem es Definiert wurde, oder eben in "untergeordneten Blöcken" (auf das Beispiel bezogen: der untergeordnete Block wäre der, in dem 'meineVariable' auf 2 gesetzt wird).
Ich hoffe das war jetzt verständlich erklärt (:
mfG. BlackBerry