Avatar ·

O que significa const no final da declaração de uma função-membro de classe em C++?

Olá a todos! Comecei a estudar C++ depois de Python e Java, e me deparei com uma sintaxe confusa. Em código alheio, vejo frequentemente que após a declaração de uma função-membro de classe vem a palavra-chave `const`. Por exemplo: ```cpp class MyClass { public: int getValue() const; // Este const no final void setValue(int v); }; ``` Eu entendo que `const` antes de uma variável significa que a variável não pode ser alterada. Mas o que significa `const` *após* a lista de parâmetros? Tentei escrever sem ele — o compilador não reclama. Então para que serve? Isso afeta como posso chamar a função? Posso colocá-lo em qualquer função? Ou apenas em getters? Escrevi uma classe simples: ```cpp class Counter { public: Counter() : count(0) {} int getCount() const { return count; } // Funciona void increment() { count++; } // Funciona private: int count; }; ``` Mas quando tentei fazer `void increment() const { count++; }` — o compilador deu erro. Por quê?