Ciao a tutti,

Ho iniziato da poco a studiare C++.

Ho notato una cosa strana, ho questo codice:
codice:
#include <iostream>
#include <string>
using namespace std;

int main() {

    int a;
    int b;
    cout << "Inserire il primo numero = ";
    cin >> a;
    cout << "Inserire il secondo numero = ";
    cin >> b;
    
    int s = a + b;
    cout << "La somma e' " << s << "\n";
    
    string testo = "Ciao";
    cout << testo; //Qui non capisco
        
    return 0;
}
e funziona se tolgo però using namespace std; e metto comunque std::
codice:
#include <iostream>
#include <string>

int main() {

    int a;
    int b;
    std::cout << "Inserire il primo numero = ";
    std::cin >> a;
    std::cout << "Inserire il secondo numero = ";
    std::cin >> b;
    
    int s = a + b;
    std::cout << "La somma e' " << s << "\n";
    
    string testo = "Ciao";
    std::cout << testo; //Qui non capisco
        
    return 0;
}
La riga std::cout con la stringa mi da errore e non capisco il motivo...

Ringrazio