О выделении памяти для переменных

 
В результате исполнения следующего кода:
string gstrS_1="Renat"; 
string gstrS_2="Slawa";

int start() {
   Alert(gstrS_1," ",gstrS_2);
   return(0);
}



Alert выдает: Renat enat

Если же объявления стринговых переменных перенести в функцию start() т.е. вот так:

int start() {
   string gstrS_1="Renat"; 
   string gstrS_2="Slawa";
   
Alert(gstrS_1," ",gstrS_2);
   return(0);
}


то все нормально и Alert выдаст: Renat Slawa

Где собака-то порылась? (без всяких намеков на девелоперов :)

С уважением и т.д.

 
Где собака-то порылась?

Да, явная ошибка. Слава это проверит и исправит. Спасибо.
 
вот в этом случае тоже неверно работает:
int start() {
   PrintNames(5);
   return(0);
}

void PrintNames(int intLevel, string strName_1="Renat", string strName_2="Slawa") {
   Alert(strName_1 + " " + strName_2);   
}


пишу об этом, потому что не уверен, что случай тот-же самый, что и в первом посте. Вроде здесь объявление переменных внутри функции.

С уважением, и т.д.

 
да, спасибо. в этом месте тоже поправили
Причина обращения: