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.
The latest version of this topic can be found at bad_weak_ptr Class.
Reports bad weak_ptr exception.
Syntax
class bad_weak_ptr
: public std::exception {
public:
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_tr1__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
Requirements
Header: <memory>
Namespace: std