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