【发布时间】:2018-11-13 22:27:36
【问题描述】:
是否有可能有一个可能有或可能没有成员的结构?像这样的:
template <typename T, typename A = some_type_with_size_0>
struct s {
T t;
A aux;
};
具体来说,如果我要求s<int, int>,我会得到一个包含两个ints 的结构,但如果我要求s<int>,我会得到一个只有int 的结构。
【问题讨论】:
-
听起来有点像 XY 问题,请您详细说明您的用例。
some_type_with_size_0不会阻止实例化aux成员,无论应该是什么类型(void在 IIRC 中都不起作用)。 -
如果你想要一个或两个
ints,你可以使用std::vector<int>;) 说真的,我认为如果你举一个小例子来说明你需要什么,这会很有帮助