Dlaczego tak
Dla Tablica<double, 4> kompilator generuje klasę z tablicą czterech liczb double wyzerowaną przez inicjator {}, a rozmiar() zwraca parametr szablonu N = 4. Po przypisaniu t[1] = 2.5 wyrażenie 4 + 0.0 + 2.5 ma typ double i wartość 6.5. Odpowiedź 6 zakłada, że wynik zostanie obcięty do int, bo rozmiar() zwraca int, ale dodanie wartości double powoduje konwersję całego wyrażenia na double.