Что выведет cout?

#include <iostream> 
 
using namespace std; 
 
const int &test() { 
    static int a = 3; 
    return a; 
} 
 
int main() { 
    test()++; 
    test()++; 
    cout << test() << endl; 
    return 0; 
}
5
Не скомпилируется
Значение неопределено
Ошибка времени выполнения
3