I am trying to build a dynamic array of objects using pointers arithmetic. However, the compiler return the following error in this line in the main.cpp
(*(lista+n))(id1,seleccion1,edad1,camiseta1);
error: no match for call to '(jugador) (int &, int & short, short int &, short int &)' 
any suggestion is welcome, thanks.
This is the class.
class jugador
{
private:
    int id;
    short seleccion;
    short edad;
    short camiseta;
public:
    jugador();
    jugador(int ID, short SELECCION, short EDAD, short CAMISETA);
    int obtener_id();
    short obtener_seleccion();
    short obtener_edad();
    short obtener_camiseta();
    void cambiar_id(int nueva_id);
    void cambiar_seleccion(short nueva_seleccion);
    void cambiar_edad(short nueva_edad);
    void cambiar_camiseta(short nueva_edad);
    void cambiar_todo(int nueva_ID, short nueva_SELECCION, short nueva_EDAD, short nueva_CAMISETA);
    void mostrar_jugador();
};
The constructors...
jugador::jugador()
{
    id=999999;
    seleccion=32;
    edad=99;
    camiseta=99;
}
jugador::jugador(int ID, short SELECCION, short EDAD, short CAMISETA)
{
    id=ID;
    seleccion=SELECCION;
    edad=EDAD;
    camiseta=CAMISETA;
}