Semplicemente che non puoi usare this nella sua lista di inizializzazione, ne (solo in alcuni casi) nel suo costruttore.

Quando usi this nel costruttore, l'oggetto che referenzi con this non è ancora costruito del tutto.
E' solo un warning infatti, perchè la memoria per l'oggetto è allocata, ma finisci in un "undefined behavoir" perchè non si sa se l'oggetto è costruito del tutto.
Dipende dalla velocità con cui la tua CPU e RAM allocano l'oggetto.

Non inizializzare ref nella lista d'inizializzazione, fallo nel costruttore, però attento. Se ref nel suo costruttore usa un metodo di this non sai se il tuo programma crasherà o meno perchè come detto l'oggetto può anche non essere allocato del tutto.