У меня есть typedefined shared_ptr <>, который я использую в условной проверке.
Вот как это определяется:
typedef std::shared_ptr<T> typeTPtr;
Затем я передаю его функции, принимающейаргумент bool:
void Foo(bool);
Когда я пытаюсь сделать:
typeTPtr ptrT = ...
Foo(ptrT);
Я получаю сообщение об ошибке, говорящее, что
не может преобразовать аргумент из T вbool
Я считаю, что в std :: shared_ptr явно определен оператор bool.Почему компилятор не конвертирует shared_ptr в bool?Я использую Visual C ++ 2017
Спасибо.