Pokaż całe źródło, bez tego trudno coś powiedzieć. Jednak na 99% to ty popełniasz błąd a nie kompilator. Tutaj przecież masz dwuelementową tablicę znaków, a nie znak!
Dobra, teraz jest dobrze (pewnie do czasu), ale w tamtym ciekawe było to, że jak popełniłem inny błąd w kodzie (np. zapomniałem gdzieś dać “;”) to błąd związany z char w ogóle nie był wyświetlany.
Tak bywa, że jeden jeden popełniony błąd pociąga za sobą nieprawdziwych wiele ostrzeżeń i błędów w dalszej części kodu nawet jeśli jest poprawny. Dlatego zawsze trzeba czytać komunikaty od początku, bo często tylko pierwszy komunikat jest prawdziwy.