int x = fromString("test")
: не удалось вывести аргумент шаблона для 'ValueType'
int x = fromString<int>("test")
: работает нормально, как ожидалось
Итак, почему компилятор здесь работает? Я вижу это со всеми видами реальных функций шаблона, а не только этим глупым примером. Это должна быть особенность языка, но что?