Pusiste:
cout<<aux->next;next es un puntero. Como aparece un 0, significa que el siguiente es NULL. Es correcto.
Tal vez quisiste poner aux->element (antes de la línea
aux = aux->next, eso sí)
De todos modos, pusiste Luis como valor antiguo. No exise, así que no tiene que hacer nada.
En la imagen aparece un error 0xC0000005. De este error está bien que te acujerdes (es de los pocos que verás "normalmente"). Es un error por, generalmente, acceder a una zona de memoria que no debes.
Pero no te preocupes. En este caso es por esto:
aux= aux->next;
cout<<aux->next;
Si aux->next es NULL, luego, en el cout, tratas de acceder a aux->next, es decir, NULL->next. Pero bueno, sería cambiar el orden de esas líneas y listo (o poner element, como puse arriba)
Y lo dicho, tienes mal la salida del menú:
cout<<"What's the new value?"<<endl;
cin>>value;
if(opt==1){
int pos;
cout<<"In which position do you want to edit?"<<endl;
cin>>pos;
a.editByPos(value,pos);}
else if (opt==2){
cout<<"For which value do you want to change?"<<endl;
cin>>newName;
a.editByValue(value, newName);}
Primero pides el new value. Luego, lo pides de nuevo. El primer "nuevo valor", es el que pasas como antiguo. Revisa esos couts y cómo llamas a la función.