Я не понимаю, почему этот код компилируется без ошибок:
#include <iostream>
template <class T>
struct Test
{
static constexpr T f() {return T();}
};
int main()
{
Test<void> test;
test.f(); // Why not an error?
return 0;
}
Хорошо ли в соответствии со стандартом, или это допуск к компилятору?