почему я не могу явно создать шаблон, подобный этому
template class Foof;
и существует ли обходной путь, помимо ввода Foo<float>?
Ответ 1
и есть ли обходной путь, помимо ввода Foo?
Нет, к сожалению, нет. Вы должны ввести Foo<float>. Что касается того, почему, см. Раздел 14.7.2 в соответствии с правилом С++ для правила (я не знаю, почему это правило за правило).