In addition to the other header files that you already need.Code:#include <list>
At a glance, one objection I have to Nor's suggested class design is that the std::list<Song>::iterator named Iter should not be a member variable. It should be a local variable of whatever member function needs such an iterator.
Oh, and isfull(), getTotalMemory(), getRemainingMemory() and the overloaded operator<< are all not const-correct. The member functions should be declared const, and the overloaded operator<< should take the Song by const reference.