I\'ve read in several places that std::vector requires it\'s template argument to be default constructible. Today I just tried it with one of my classes that has a delete<
delete<
There are two vector members that require a default constructible T in C++11:
vector
T
explicit vector(size_type n); void resize(size_type sz);
Nothing else does. So if you use these signatures, you need to have a default constructible type, else you do not.