Как приавильно в функции вернуть vector (C++ Builder)
Ругается на строку возвращения ветора "Undefined symbol 'prm'".
Код:
vector<AnsiString> explode(AnsiString str, AnsiString delitel){
int len = str.Length();
AnsiString search,simbol;
for(int i=1; i <= len; i++){
search = str.SubString(i,1);
if(search != delitel){
simbol = simbol+""+search;
}else
{
vector<AnsiString> prm;
prm.push_back(simbol);
simbol = "";
}
}
return prm;
}
int len = str.Length();
AnsiString search,simbol;
for(int i=1; i <= len; i++){
search = str.SubString(i,1);
if(search != delitel){
simbol = simbol+""+search;
}else
{
vector<AnsiString> prm;
prm.push_back(simbol);
simbol = "";
}
}
return prm;
}
- во первых - используй средства форматирования кода.
- во вторых - читай области видимости в С++ - вектор который ты объявил, не виден там, где ты пытаешься его вернуть.
- в третьих - в билдере есть класс TStringList - именно его стоило бы использовать, передавая указатель на него в функцию. У него есть метод Delimiter
Цитата: kot_
во первых - используй средства форматирования кода.
во вторых - читай области видимости в С++ - вектор который ты объявил, не виден там, где ты пытаешься его вернуть.
в третьих - в билдере есть класс TStringList - именно его стоило бы использовать, передавая указатель на него в функцию. У него есть метод Delimiter
во вторых - читай области видимости в С++ - вектор который ты объявил, не виден там, где ты пытаешься его вернуть.
в третьих - в билдере есть класс TStringList - именно его стоило бы использовать, передавая указатель на него в функцию. У него есть метод Delimiter
Да уж объявление я что то не в ту степь засунул.