Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Reports bad weak_ptr exception.
Syntax
class bad_weak_ptr : public std::exception
{
    bad_weak_ptr();
    const char *what() throw();
};
Remarks
The class describes an exception that can be thrown from the shared_ptr Class constructor that takes an argument of type weak_ptr Class. The member function what returns "bad_weak_ptr".
Example
// std__memory__bad_weak_ptr.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
int main()
{
    std::weak_ptr<int> wp;
    {
        std::shared_ptr<int> sp(new int);
        wp = sp;
    }
    try
    {
        std::shared_ptr<int> sp1(wp); // weak_ptr has expired
    }
    catch (const std::bad_weak_ptr&)
    {
        std::cout << "bad weak pointer" << std::endl;
    }
    catch (...)
    {
        std::cout << "unknown exception" << std::endl;
    }
    return (0);
}
bad weak pointer