【发布时间】:2018-11-21 16:08:00
【问题描述】:
考虑一个模板类
template<class T>
class Foo
{
};
我可以为此编写一个简单的专业化
template<>
class Foo<int>
{
};
我有一种情况,我想用一个模板类专门化 Foo,详细地用一个用作编译时标志的 bool:
template<>
class Foo<int, bool> // Clearly not the correct notation.
{
}
用途包括 Foo 和 Foo。
类名的正确表示法是什么,我在其中标记了“显然不是正确的表示法。”?
我按照 C++11 标准编写代码。
【问题讨论】:
-
Foo<T>和Foo<T, E>是不同的模板。 -
我不清楚你所说的“我想用一个模板类来专门化 Foo”是什么意思,但你可能想要专门化一种编码这两种类型的类型,比如
Foo<std::tuple<int, bool>>。