I was wondering why the bool conversion operator of a shared_ptr works fine in an if-statement, but not in the implicit conversion to the (bool) return value..
std::shared_ptr<const OfflineGaitCycleContainer> m_pContainer;  
bool MyClass::IsInitialized() const
{
    if (m_pContainer) // compi;es
        return true;
    return m_pContainer; // won't compile
}
The compiler message: Error C2440 'return': cannot convert from 'const std::shared_ptr<const MyClass>' to 'bool'
Aucun commentaire:
Enregistrer un commentaire