Я столкнулся с ошибкой компиляции при попытке инициализировать вектор указателей на NULL
с помощью конструктора std::vector
. Я упростить инструкцию, чтобы держать его просто:Инициализировать вектор указателей (автоматически)
vector<int*> v (100,NULL)
Я предполагаю, что это что-то делать с несовместимостью const T& value= T()
(параметр конструктора) и значение NULL самого, но я был бы признателен за дальнейшие объяснения.
Спасибо
«Ошибка выполнения»? Какая ошибка? Вы запустили это в отладчике, чтобы подтвердить, что это была строка, которая не срабатывала? –
Нет, я не использовал отладчик (я вроде новичок). Кроме того, это не исполнение, а ошибка компиляции, я ошибся. Здесь вы найдете: ArbreN.hpp: 55: 3: warning: передача NULL в аргумент non-pointer 2 из 'std :: vector <_Tp, _Alloc> :: vector (_InputIterator, _InputIterator, const allocator_type &) [с _InputIterator = int, _Tp = ArbreNari :: node_arbreNari *, _Alloc = std :: allocator :: node_arbreNari *>, std :: vector <_Tp, _Alloc> :: allocator_type = std :: allocator :: node_arbreNari *>] '[-Wconversion- null] –
Кстати, если вы используете конструктор с одним аргументом ('vector v (100);', они будут автоматически инициализированы на 'NULL'. –