Perché getline() da un colpo di testa stringa in ambito locale e può essere utilizzato:C++ getline() non richiede la dichiarazione dello spazio dei nomi
#include <iostream>
#include <string>
int main() {
std::string str;
getline(std::cin, str);
std::cout << str << "\n";
return 0;
}
che funziona con gcc. Ma perché? È definito nell'intestazione stringa, che dovrebbe richiedere l'utilizzo di std :: getline() anziché getline().
Nota a margine prima di dire che è assurdo: l'operatore << 'è definito in' std'. Dite 'std :: cout <<" hi ";' senza riferimento esplicito 'std :: operator <<'. Probabilmente è meglio. – chris
Grazie! Leggerò su argomento-dipendente-ricerca! – Peter