Como inicializar a variável de membro de referência de uma classe?

Considere o seguinte código C ++:

    #include<iostream>

using namespace std;

class Test {
    int &t;
public:
    Test (int &x) { t = x; }
    int getT() { return t; }
};

int main()
{
    int x = 20;
    Test t1(x);
    cout << t1.getT() << " ";
    x = 30;
    cout << t1.getT() << endl;
    return 0;
}

Está mostrando o seguinte erro ao usar o compilador gcc

    est.cpp: In constructor ‘Test::Test(int&)’:
    est.cpp:8:5: error: uninitialized reference member ‘Test::t’ [-fpermissive]

Por que o compilador não chama diretamente o construtor?

questionAnswers(2)

yourAnswerToTheQuestion