> i don't find on google how to do the getline overload
De la misma manera que con cualquier otra función, usando el mismo nombre pero cambiando el tipo o cantidad de argumentos.
>
std::cin.getline(i, 140,'\n');
error: no matching function for call
(para la próxima, incluí los mensajes de error)
Estás intentando llamar a una función miembro que recibe 3 argumentos
- una CCadena
- un número
- un caracter
La sobrecarga que propusiste
1 2 3 4
|
std::istream & getline(std::istream& is, CCadena& c){
getline(is,c); //¿?
return is;
}
|
Es una función no-miembro que recibe 2 argumentos
- un istream
- una CCadena
Las funciones son distintas.
Aparte, la llamada
getline(is, c);
generaría una recursión sin caso base.
English:
Overload the function as you would with any other function.
The compilation is failing because the call does not match any function declaration.
Your implementation of getline contains a recursive call and no base case.