Функция шаблона не является функцией до тех пор, пока не будет создан экземпляр шаблона (это шаблон для создания функций).
Чтобы сгенерировать ошибку, VS всегда сообщает вам, каковы фактические параметры шаблона. Поскольку вы не создаете его ни для чего, пока нет способа создать это сообщение об ошибке (хотя технические причины могут быть другими).
Как только вы начнете использовать шаблон для чего-то, вы должны получить ошибку компиляции.
Это специфично для Visual Studio. Другие компиляторы выдают здесь правильную ошибку, поскольку Test::x
не является зависимым именем. Это известная слабая область, в которой улучшается Visual Studio.