This code does not compile.
            std::remove_if( m_selectedFields.begin(),
                            m_selectedFields.end(),
                            [](const FieldWin *obj, FieldWin *m_draggingField)
                            {
                                obj == m_draggingField;
                            } );
The m_selectedFields is a vector and its a member of the class, defined as std::vector<Foo *> m_selectedFields. The m_draggingField is also a member of the class, defined as Foo m_draggingField.
What am I doing wrong?
The errors are:
error C2064: term does not evaluate to a function taking 1 arguments
note: class does not define an 'operator()' or a user defined conversion operator to a pointer-to-function or reference-to-function that takes appropriate number of arguments
I think lambda function should have only one argument, but then how do I pass the element that needs to be removed?
Aucun commentaire:
Enregistrer un commentaire