Referencia de referencia a una variable local

¿Por qué este código puede ejecutarse correctamente en Code :: block? El BID solo informa

warning: "se devuelve la referencia a la variable local" tmp "",

pero superó con éxito el resultado "hola mundo".

#include <iostream>
#include<string>
using namespace std;

const string &getString(const string &s)
{
    string tmp = s;
    return tmp;
}

int main()
{
    string a;
    cout<<getString("hello world")<<endl;
    return 0;
}

Respuestas a la pregunta(8)

Su respuesta a la pregunta