sfinae 相关问题

替换失败不是错误。这是一种C ++编程技术,允许模板验证有关其模板参数的属性,从而允许在某些类型的对象可用时使用不同的特化。

基于SFINAE的序列化解决方案无法在C ++中实例化重载的模板化函数

我正在尝试序列化模板类MState 或多或少一般。为此,我有一个父抽象类MVariable,它使用以下形式实现了几个序列化函数:...

回答 1 投票 1

SFINAE和参数数量

我有一个模板类C 我打算用T作为其他一些类A和B进行实例化 有一个方法foo我的签名我想依赖于T是否被实例化...

回答 2 投票 1

C ++构造函数SFINAE

#包括 using namespace std;模板 class test {public:T value;模板 测试(Args ... args):...

回答 1 投票 4

结合void_t和enable_if?

在C ++ 17中,void_t允许使用类/结构模板:模板轻松地执行SFINAE struct test {static constexpr auto text =“general case”; };模板

回答 2 投票 1

C ++中的过载歧义,用于自动将对象转换为“可打印”格式

我正在尝试编写一个输入的函数。如果该输入可以直接传送到流(例如使用std :: cout <

回答 3 投票 4

使用不同的返回类型强制SFINAE

所以这个答案演示了如何在返回类型中使用函数来强制替换失败不是错误(SFINAE)。有没有办法可以使用它并拥有不同的返回类型......

回答 1 投票 0

如果模板参数是另一个模板的某个实例,则键入trait test

假设在下面的代码中,意图是允许T in Bar 成为一个Foo 对于任何U.模板 class Foo {};模板

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.