Dopo aver sbattuto la testa per un bel pò e grazie all'aiuto di gente che ne sa più di me..(il che non è difficile), siamo giunti alla soluzione del problema:
Bisognava modificare la funzione "bool operator"... riporto qui di seguito il codice:
insomma bastava aggiungere il modificatore "const" alla firma del metodo.codice:template <typename T> struct MyArrayCompare { bool operator()(const T& a,const T& b) const{ return (a[2] < b[2]); } };
A volte odio la programmazione, basta un'errore se pur banale per andare a picco.
Grazie1000
Beppe.