To illuminate further, the problem is that a reference is not an object. It's an alias for an object.
Container classes can usually only contain actual objects.
There are several reasons why. If your container is a list, then somewhere deep in the list class template you will see a helper class, typically a private struct, that contains an instance of T and a pointer to its own type. These are the links in the list. I don't know off-hand if STL's list class attempts such careful coding. It would basically wrap a pointer.