All pastes #739753 Raw Edit

for_each problem

public text v1 · immutable
·published 2007-10-17 13:21 UTC
rendered paste body
#include <iostream>
#include <deque>
#include <algorithm>

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<int>::)(const int&)const’ does not match ‘void (fixed_stack<int>::*)(const int&)const'