Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

24.10.2009, 19:47
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме: 265628
Репутация:
23
|
|
Возвращай указатель
char* func(const char * bla)
{
char * buffer = new char[1024];
...
return buffer;
}
|
|
|

24.10.2009, 19:49
|
|
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме: 1576821
Репутация:
88
|
|
ты создаёшь двумерный массив... и не инициализируешь его
вотЪ так
Код:
char* a= new char[1024];
return a
или так
Код:
char a[1024];//wrong
return a;//wrong
Последний раз редактировалось Irdis; 24.10.2009 в 20:25..
|
|
|

24.10.2009, 20:15
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
читайте сообщения компилятора, и буедт вам понятно, почему он ругается. вы возвращаете указатель на память, выделенную на стеке. это означает что при выходе из функции этот участок памяти становится запрещенным для использования. Чтобы понять, почему так происходит, советую воспользоваться ollydbg и покурить на тему "стек".
ps: мда. у моргана ошибка в другом( в описании функции неправильный тип), но по сути он получил бы проблему, которую я описал, так что так
Irdis
в твоем случае правилен первый вариант. Во втором будет пересоздан массив, т.к. ты возвращаешь объект(в данном случае переменная, но суть аналогии с конструктором копирования классов)
Последний раз редактировалось Ra$cal; 24.10.2009 в 20:17..
|
|
|

24.10.2009, 20:36
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
кто знает алгоритм извличения корньа и возвидение в степень на с++
|
|
|

24.10.2009, 20:41
|
|
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме: 2584134
Репутация:
519
|
|
2new-sl
Извлечения корня: sqrt()
В степень a * a
Либа math.h
|
|
|

24.10.2009, 20:46
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
Для возведения в степень используеться функия pow
Синтаксис:
double pow(double x, double y);
|
|
|

24.10.2009, 21:05
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
корень извлекается так же с pow. квадратный
pow(4, 0.5);
|
|
|

24.10.2009, 21:19
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
Ra$cal, для квадратного корня предназначена ф-я sqrt()
А вот для кубического и т д, можно уже юзать pow()
Типа
pow(a, 0.3);
pow(a, 0.25);
pow(a, 0.2);
И так далее.
|
|
|

24.10.2009, 21:21
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Сообщение от Ins3t
Ra$cal, для квадратного корня предназначена ф-я sqrt()
А вот для кубического и т д, можно уже юзать pow()
Типа
pow(a, 0.3);
pow(a, 0.25);
pow(a, 0.2);
И так далее.
спасибо, а то я не знал
|
|
|

24.10.2009, 21:24
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
Ra$cal, я понимаю что ты это знал, но цель моего поста была не в том, чтобы "научить тебя чему то", а в том, чтобы сказать что для извличения квадратного корня придумали ф-ю sqrt(), и нету смысла извращатся с pow().
Ну надеюсь ты понял, что я хотел сказать.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|