Поскольку у вас нет массива указателей, сравнение с NULL
является некорректным (хотя в конечном итоге оно разрешится до 0
).
Чтобы сравнение было действительным, вам нужно сравнить каталог с нулем. Однако имейте в виду, что получение вашего массива НЕ инициализирует значения, поэтому в вашем массиве будет случайный мусор для начала. В результате сравнение с нулем (если вы не инициализировали свои значения на ноль в другом месте) будет непоследовательным и бесполезным.
Кроме того, это может быть придирчиво, но когда я слышу такой метод / функцию, как allocate_data_buffer
, я думаю о приобретении ресурса, например, требующем new
или new[]
. Ваше имя метода и использование NULL
и тому подобное, похоже, указывают на то, что этот код изначально предназначался для фактического использования указателей для этого распределения, но, возможно, был изменен. Чтобы модификация была «полной», по моему мнению, я бы продолжил, создав правильную инициализацию и имена методов.