32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
|
|
1 | |
Динамическое выделение памяти внутри функции (что вернуть из функции, если не удалось выделить память?)12.02.2016, 12:47. Показов 1496. Ответов 3
Метки нет (Все метки)
такое дело, есть функция, которая выполняет некоторую операцию, функция при успешном выполнении должна вернуть 0, при ниудачном код ошибки(GetLastError) но в функции есть еще malloc, допустим памят не выделилась, мне нужно вернуть что-то отличное от 0, незнаю что, что посоветуете?
0
|
12.02.2016, 12:47 | |
Ответы с готовыми решениями:
3
Динамическое выделение памяти в функции Указатели и функции. Динамическое выделение памяти Динамическое выделение памяти в отдельной функции Динамическое выделение памяти для структуры в функции |
Модератор
|
|
12.02.2016, 13:23 | 2 |
Выделяйте память с помощью new, а если память не выделилась, выскочит исключение. А вообще, зачем Вам динамическое выделение памяти в функции? Это не есть хорошо. Лучше заверните Вашу функцию в класс, и пусть там выделением/освобождением памяти конструктор и деструктор занимаются.
Добавлено через 2 минуты mh-coder, а вообще, лучше бы Вы, конечно, код показали. Иначе, это беспредметный разговор.
0
|
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
|
|
12.02.2016, 13:40 | 3 |
Если используете такой подход без механизма обработки исключений, о котором уже упомянул коллега - то рассматривайте ситуацию с невыделением памяти тоже как ошибку. Соответственно, придумайте для этой ситуации свой код ошибки.
Например, вот тут перечислены диапазоны для разных значений getlasterror: https://msdn.microsoft.com/en-... 85%29.aspx Добавьте свой диапазон значений ошибок, не перекликающийся с системными. Только тщательно документируйте и комментируйте такие фишки, иначе следующий программист, после вас разбирающийся в вашем коде, застрелится
1
|
Комп_Оратор)
|
|
12.02.2016, 13:52 | 4 |
mh-coder, возвращайте ноль или nullptr в зависимости от компилятора.
1
|
12.02.2016, 13:52 | |
12.02.2016, 13:52 | |
Помогаю со студенческими работами здесь
4
Выделение динамической памяти внутри функции Нужно немного переделать программу: использовать функции и динамическое выделение памяти Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными Выделение динамической памяти для массива внутри функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |