Precis vad jag satt och tänkte på också. Sedan är det ju skilland på dessa operatorer också. Ena fallet vill man göra nått speciellt vid indexering och den andra är ju tilldelning.
i[0] = 100;
Detta hade ju också resulterat i att tilldelingsoperatorn anropats om den fanns överlagrad i klassen.
// BeatBox
------------------
"Mörkrets gärningar, förekommer även på dagen"
Något som jag funderar på är att operator[] returnerar en referens till en int. Men det är ju en Counter som har operator=. Alltså, först anropar du operator[]. Då får du en int. Och int har ju ingen överlagrad =. Därför anropas inte operator=. Hade operator[] returnerat en Counter kanske det hade funkat.