#include #include #include template< typename T > class fixed_stack : public std::deque< T > { public: fixed_stack( int ms ) : max_size( ms ), std::deque< T >() {} void push_front( const T & v ) { if ( std::deque< T >::size() == max_size ) std::deque< T >::pop_back(); std::deque< T >::push_front( v ); } void dump() const { std::for_each( std::deque< T >::begin(), std::deque< T >::end(), std::mem_fun( dumpElem ) ); } private: void dumpElem( const T & e ) const { std::cout << e << " "; } int max_size; }; int main( int c, char *v[] ) { fixed_stack< int > fs( 5 ); fs.dump(); } error: argument of type ‘void (fixed_stack::)(const int&)const’ does not match ‘void (fixed_stack::*)(c