Spannend.

Visual Studio 2015 hat ja zwei C++ Compiler. Wenn ich
Code:
auto c = 'ä';
mit Clang übersetze, produziert das 'ä' auch eine Warnung.

warning : illegal character encoding in character literal [-Winvalid-source-encoding]
auto c = '<E4>';
das ^ welches die Fehlerposition markiert, steht beim ersten '


Kombiniere, das 'ä' ist anscheinend nicht überall erlaubt und tut nicht was du meinst. Das muss ich auch mal weiter erforschen. Da ist mir was bisher entgangen.

- - - Aktualisiert - - -

=======

Ok,

die Meldung " 'c' does not name a type " kommt wohl eher daher, dass kein C++11 oder 14 eingeschaltet ist und hat somit nicht direkt mit dem Problem zu tun.

Ansonsten wollen g++ oder clang wohl lieber Unicode Quelltextdateien, wenn du da mit Umlauten in Literalen arbeiten willst. Ob einzelne oder doppelte Anführungszeichen macht wohl keinen Unterschied.

Dann nehm für deinen Vergleich halt das ä als Hexkonstante, so in der Art
Code:
const char c = 0xe4;
oder was immer der Code des Zeichens bei dir ist.