Обычно, если шаблонный тип внутри класса - то там всё логично. T или T* -реализует ровно тот тип, который передан в шаблонном аргументе или который будет выведен. А вот в этом примере ничего не понятно в этом смысле.
f1<int>(i); // f1<int>(i); // T == int // OK
f1<int*>(pi);// f1<int*>(pi); // T == int * // OK
f2<int>(&i); // f2<int>(&i); // i is int // &i is int* // T == int * // неправильно, T == int
f2<int>(pi); // f2<int>(pi); // pi is int * // T == int * // неправильно, T == int
f2<int*>(&pi); // f2<int*>(&pi); // T == int*
Когда заменил ../pch.h на pch.h все заработало, но почему я не понимаю.
#include
[?]. Подавляющее большинство профессиональных разработчиков сами не понимают как директива работает. Но это не значит что и тебе тоже можно.#include ""
. почему с пакой ошибка 1010
ошибка 2005
ошибка 1010
Приветствую друзья!
Вопрос очень странный.
Ко мне обратился человек с просьбой распарсить некий интернет магазин, который существует только в виде мобильного приложения.
Может я чего не знаю.
Реально ли получить доступ к контенту в приложении.
Скажу больше, я знаю как получать доступ к управляющим элементам например в Windows приложениях.
Вы мне предлагаете не то, и я поясняю почему это не то.
Я говорю - shared_ptr не вызовет деструктор класса. Утечка есть, все плохо.
Он не сможет удалить класс, если ему дать void.
А вот сделать free - да, но это все равно будет утечкой памяти
std::shared_ptr<void>
[?]. Если еще будешь использовать std::make_shared
[?], то вообще обойдешься одним выделением памяти.new
/delete
.std::u8string
[?] посоветовать? -nan
и выписать ее в вопрос, правильно при этом оформив, согласно П3.8 регламента.Кстати, "у вас не статический массив" -- насколько я понимаю, это субъективно.
Взятие значения неинициализированной переменной является UB.
Ты сейчас что-то сделал и что-то понял, но немного не то, что из этого кода можно понять. Просто потому что у тебя в коде теперь есть UB.
Правильно было бы написать так.