il compilatore si arrabbia e dice : error: empty character constant
L'errore è legato all'uso di
''
e non direttamente alla variabile char.
Anche se scrivi
cout << '';
o
char c[] = {'r', '', '\0'};
ricevi lo stesso errore.
ma allora non c'e' modo di dire che un oggetto char è vuoto?!?
Una cosa è dire che un oggetto è vuoto (cosa impossibile), altra è dire che assume un valore nullo (scelto per convenzione tra tutti i possibili valori).