Jak zainicjować zmienną elementu odniesienia klasy?

Rozważmy następujący kod 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;
}

Wyświetla następujący błąd podczas używania kompilatora gcc

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

Dlaczego kompilator nie wywołuje bezpośrednio Konstruktora?

questionAnswers(2)

yourAnswerToTheQuestion