gpt4 book ai didi

c++ - 如何根据条件限制用户定义的模板类型

转载 作者:行者123 更新时间:2023-12-03 07:54:15 24 4
gpt4 key购买 nike

template<typename VarTypes>
class CMyClass
{
// do something
};

目前,无论任何条件如何(示例编译器选项),代码都接受多个 VarType Type1、Type2。

我必须根据条件限制 VarType。有什么经验吗?

最佳答案

我会保持简单,只使用static_assert,例如:

template<typename T>
class CMyClass
{
#if defined(VARIANT1)
static_assert (std::is_same <T, std::string>::value ||
std::is_same <T, std::vector <int>>::value, "Type not allowed");
#elif defined(VARIANT2)
...
#endif

// do something
};

Live demo

关于c++ - 如何根据条件限制用户定义的模板类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76476917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com