通过typedef进行显式模板实例化

Sam*_*rsa 11 c++ templates

如果我有

typedef Foo<float> Foof;
Run Code Online (Sandbox Code Playgroud)

为什么我不能像这样明确地实例化模板

template class Foof;
Run Code Online (Sandbox Code Playgroud)

除了打字之外还有解决方法Foo<float>吗?

Jes*_*ood 9

键入Foo除了解决方法吗?

不,不幸的是没有.你必须打字Foo<float>.至于为什么,请参阅规则的C++标准的第14.7.2条第3款(虽然我不知道规则背后的基本原理).