sfinae 相关问题

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

只对一个类模板的一个方法进行专门化

我有一个类模板,它可以正确地适用于所有可能的类型T1,T2.模板 class Basic { int a; float b; public: void foo(T1 t1, T2 t2) { ...

回答 1 投票 0

为什么编译器说:'enable_if'不能用来禁用这个声明?

模板 使用 Enable_if = typename std::enable_if type; class Degree; template constexpr inline bool Is_Degree() { ...

回答 1 投票 6

C++ SFINAE的方法组和装饰器。

我有一个std::variants,包含有不同接口的对象。目标是调用一些方法,如果变体中的对象拥有它。我试图做几个模板装饰器,并寻找...。

回答 1 投票 0

检查类是否有可能重载的函数调用运算符

我想知道是否有可能在C ++ 20中实现一个特征来检查类型T是否具有可能重载/可能是模板化的函数调用operator:operator()。 // ...

回答 1 投票 0

基于类型特征的更改功能定义? [重复]

我想通过使用enable_if_t根据类型更改函数定义。与此类似的东西:#include template struct A;模板

回答 1 投票 0

将`template zero()`扩展/专业化为可调用的T'

我正在尝试定义函数模板 zero()并将其专门用于各种情况。 zero ()应该返回静态T :: zero()(如果存在)。否则static_cast (如果...

回答 1 投票 3

SFINAE:std :: enable_if作为函数参数

因此,我正在遵循此网页上某处代码所设置的示例:http://eli.thegreenplace.net/2014/sfinae-and-enable_if/这是我所拥有的:template void fun(const ...

回答 2 投票 8

要接收的T :: value_type的类型特征,否则为T

[必需是类型T的类型特征,如果T具有typedef value_type,则提供类型为T :: value_type的typedef类型,否则为T。我已经尝试了以下实现,但没有实现...

回答 1 投票 0

根据模板类型选择类模板的成员类型?

我有一个具有某些类型成员的类模板。此类型是根据实例化模板时提供的类型确定的。它使用默认值(在下面的示例中为两倍)...

回答 1 投票 1

带有功能模板重载的基于SFINAE的特征实现问题

我正在学习SFINAE和特质,我知道我可以定义SFINAE特质(在实现中使用SFINAE的特质)。特征的经典实现,可检测类型是否为...

回答 1 投票 0

使用C ++元组类型作为映射中的键

我正在尝试将不同类型的值的集合映射到连续的空间中。为了做到这一点(有效地),我需要知道所有元素的总大小和每个元素的偏移量。如果...

回答 2 投票 3

使用表达式-SFINAE的功能模板的类定义之外

我正在尝试实现一个简单的序列化程序类,该类具有一个Serialize函数,该函数将实际的序列化分派给不同的重载函数模板,这些模板在编译时使用...

回答 1 投票 2

为什么我们需要在C ++ 20的map emplace中使用piecewise_construct?

这是关于std :: map emplace函数潜在的重载的理论问题,该函数检测是否已传递2个元组,这不是C ++ 20中是否存在此功能的问题。从我...

回答 1 投票 0

嵌套std :: void_t,std :: enable_if和包扩展

我想拥有一个可变参数模板,仅当所有模板参数均为整数类型时才启用。我下面的解决方案嵌套了std :: void_t,std :: enable_if,std :: is_integral并打包...

回答 1 投票 1

如何检查这些结构是否具有称为“ Foo”的特定类型?

#include / ****我很困惑在这里使用sfinae方法****** / template struct hasTypeFoo {// .. static constexpr bool value = true; }; ///////////////// ...

回答 2 投票 0

SFINAE根据类值模板参数选择构造函数

我正在尝试编写一个类,该类根据类自己的模板参数的值公开不同的构造函数。试图做到这一点的天真的代码如下:// C ++ ...

回答 2 投票 0

使用带有is_class的std :: conditional ,出现编译错误

我想拥有一个依赖于其他具有X :: value_type的其他类X的类型。如果在另一个类中没有这样的typedef,我只想单独使用X。所以我正在寻找类似的代码:...

回答 2 投票 0

在使用SFINAE的模板类之外定义函数?

在下面的示例中,我想在这种情况下在类外定义析构函数,到目前为止,我尝试过的所有万亿语法都无法正常工作:template

回答 1 投票 0

类模板SFINAE

我正在测试班模板SFINAE。 template using enable_if_class = T; template struct enable_if_test;模板

回答 2 投票 0

[SFINAE和函数重载时的隐式转换

我正在尝试编写一个模板帮助程序,该工具可以让我检查一组类型是否与结构成员的类型匹配。到目前为止,我已经写了这本书-#include #include

回答 1 投票 1

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