Помощь - Поиск - Пользователи - Календарь
Полная версия: Вызвращаемое функцией значение
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Scorp_Freeman
Можно ли так? :
char** ddd(int u){
char* ccc=new char [5];
ccc="fff/n";
return &ccc;
}


А вызов:
  char ** r;
r=ddd(ch);
cout<<r;



В итоге на экране не то что я хотел бы dry.gif .

Можно ли делать?:
 char* ccc=new char [5];
return &ccc;


Если нет то как возратить указатель на строковый массив, размер которого определяется в самой функции ddd ?
volvo
Цитата
Можно ли так?
На Warning-и компилятора почему внимание не обращаем? Ясно же сказано:
"warning: address of local variable 'ccc' is returned"... Естественно, ты получаешь мусор...

Возвращай просто char*...

char* ddd(int u) {

char* ccc=new char [5];
ccc="fff/n";
return ccc;

}

...
char *r = ddd(ch); // чем не указатель?
Scorp_Freeman
Оооо ! Спасибо! Просто я си только изучаю, а этими указателями можно и голову "поломать" smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.