the program is about Blob<T>, where shared_ptr<std::vector<T> > as its data members.
be noted that the real problem here is about shared_ptr of my own version (simple one) but
atleast (should) worked with the Blob<T>, which is the std::shared_ptr did, but not with mine.
the error msg above is produced through object that's being constructed by initializer list.
if the object being constructed through default constructor then being append by push_back() function.
the program compile but crashed. just after the shared_ptr::operator*() executed.yet I still unable to
figure out the problems.
T& operator*() const { return *p; }
T* operator->() const { return & this->operator*(); }
and the make_shared function: (probably another factor).
template <class T, class... Args>
shared_ptr<T> make_shared(Args&&... args)
{
return shared_ptr<T>(std::forward<Args>(args)...);
}