Как плюсы понимают, что с одной стороны параметр, а с другой - член класса?
Это называется семантический разбор. На вход компилятору подается исходный текст, на выходе - дерево выражений (очень грубо говоря).
Существуют правила, по которым эти деревья строятся. Например,
БНФ.
Вот в них и описывается что и где может находиться. В данном случае, в списке инициализации могут находиться только члены класса, но ты передаешь еще и параметры. В этот момент компилятор сходит с ума, т.к. нарушаются эти правила .
P.S. чтобы подобных проблем не было, то для полей классов используй префикс подчеркивания