sobrecarga de funciones puede ocurrir entre dos funciones miembro que tienen el mismo número de parámetros, si uno de ellos se declara como const.sobrecarga de funciones con parámetros const
Pero lo que si una función tiene un argumento const, otro argumento que no tiene const del mismo tipo? ¿Funcionará para referencias y punteros? Si C++ lo proporciona, ¿por qué proporciona? Por favor comparte la razón conmigo si lo sabes.
A continuación se muestra el ejemplo que le ayuda en la comprensión de la situación anterior.
void fun(const int i)
{
cout << "fun(const int) called ";
}
void fun(int i)
{
cout << "fun(int) called " ;
}
int main()
{
const int i = 10;
fun(i);
return 0;
}
de salida: Error del compilador: redefinition of 'void fun(int)'
void fun(char *a)
{
cout<<"non-const fun() called";
}
void fun(const char *a)
{
cout<<"const fun() called";
}
int main()
{
const char *ptr = "GeeksforGeeks";
fun(ptr);
return 0;
}
de salida: diversión const() llama
¿Por qué se permite que el segundo en C++?
Pruebe con 'void diversión (const char * a)' – PiotrNycz
es algo todavía faltaba a mi respuesta? Si es así, por favor dígame, para que pueda mejorarlo. :) Si no es así, ¿puedo sugerir que lo acepte? – Xeo