sfinae 相关问题

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

派生类的指针的重载分辨率

我接受一个指向基类的指针,然后根据其派生类型调用不同的函数。 [编辑问题是:accept是Manager类的公共方法,该方法处理和存储很多A,...

回答 1 投票 1

[用于模板化基类的C ++函数模板专业化

我正在尝试为模板化类和所有派生子级实现成员函数模板专业化。它适用于班级本身,但不适用于孩子。请看下面的...

回答 1 投票 2


隐式转换操作符T()使用的std :: enable_if模板重载编译失败

我写在C ++ 17类,我想超载转换操作符浮动类型,以及一些自定义类型。这里是重复的例子。还有更多的转换...

回答 2 投票 1

正在访问一个不存在的成员,他不认为是一个“错误”就SFINAE是什么呢?

我实现了漂亮的印刷对过载:模板 ostream的&运算符<

回答 2 投票 2

SFINAE:派生类隐藏基类的功能依赖于T

有迹象表明,我编写了2个SFINAE片段。他们做同样的事情。然而,第一个作品,而第二个则没有。为什么? (第二更类似于我真正的程序。)此代码...

回答 2 投票 1

c + +检测是否类型具有模板参数

我想统一的接口与两个模板和非模板类型的工作。有没有一种方法来确定一个类型,如类或函数指针是否是依赖于一个模板...

回答 1 投票 2

如何测试类类型名?

在类模板美孚我想检查模板参数提供了一个名为酒吧类型。结构类型A {使用标尺= INT;};结构的TypeB {};模板 FOO {};无效的主要(){富

回答 2 投票 2

编译器如何找到模板最佳匹配和计算表达式

我的问题是幼稚的,但帮助我了解,如果我的推论是正确的。这里是看沃尔特·布朗E.约元编程视频会议的一部分后,我开发的代码。编码 ...

回答 1 投票 0

禁用与SFINAE模板类的成员函数

假设我有一个接受某种类型的T.这意味着它可以接受一些类型可选类 。我想禁用的功能,如果它是一个可选类型的不是,但如果是...然后我想...

回答 2 投票 1

非类型模板参数和std :: enable_if_t

我试图做一些持久性的东西,我有这样的结构:结构EntityPersistence {模板 无效坚持(归档和AR,实体){}}; ...

回答 2 投票 1

单元测试:检查是否应该编译某些表达式

在单元测试中,我想检查一些表达式无法编译。例如,如果我正在编写非可复制类,我想检查无法调用复制构造函数(所以表达式,...

回答 1 投票 3

使用SFINAE根据包的大小启用部分特化

我正在尝试在编译时制作一个适用于字符的模板。在这个例子中,我想强加一个约束条件,即必须始终存在一定数量的字符的精确倍数....

回答 4 投票 3

SFINAE断言代码不会编译

我确信必须可以将SFINAE(可能与宏一起)用于static_assert(),从而无法编译任意代码。我的代码库中有一些复杂的情况,其中我有一个类...

回答 2 投票 7

C ++元组类型到函数参数类型

假设我有一个函数应该采用与元组类型相匹配的参数,我可以像这样写:使用ArgsTuple = std :: tuple ;模板

回答 1 投票 1

我们可以使用检测习惯来检查一个类是否具有特定签名的成员函数吗?

给定(减少)检测习语命名空间type_traits {template的实现 使用void_t = void;命名空间细节{模板

回答 3 投票 3

SFINAE在VS10中进行阵列初始化

在cppreference / variant(4)上,转换构造函数描述如下:转换构造函数。构造一个变量,其中包含将通过重载选择的替代类型T_j ...

回答 2 投票 0

功能指针是否有一个下降?

我有一个函数,我需要测试是否可以将给定类型的参数传递给它。例如:模板 decltype(F(declval {}))foo();打电话给foo

回答 1 投票 0

为什么SFINAE仅适用于这两个看似相同的功能之一?

以下代码无法编译(使用clang 7.0, - std = c ++ 17):struct Foo {void foo(){}}; struct Bar {void bar(){}}; struct Both {void foo(){} void bar(){}};模板&...

回答 1 投票 0

成员函数模板选择和SFINAE

我一直在努力理解C ++选择模板的方式。即,请考虑以下代码示例:模板 class Curious {public:template

回答 1 投票 7

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