sfinae 相关问题

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

[C ++派生类的重写成员函数返回派生类的数组

我正在尝试编写一个从根节点开始搜索树中节点的程序。因为我希望搜索算法尽可能通用,所以我想使用模板,并且我想使用...

回答 1 投票 0

为什么匹配模板类上的部分类模板特化与另一个没有模板匹配的部分特化是模棱两可的?

问题可能很难在标题中的句子中描述,但这是一个最小的示例:#include #include 模板

回答 1 投票 5

类外部的类函数模板定义

所以我一直在编码自己的unique_ptr类,因此我必须以与处理其他类型不同的方式来处理数组。模板 :: value> ...

回答 1 投票 1

[使用enable_if选择类构造函数

请考虑以下代码:#include #include template struct A {int val = 0;模板

回答 3 投票 46

SFINAE,如果实现了运算符,则调用函子

我有一个std :: tuple,带有一堆函子,可实现具有不同参数的回调。我想在编译时遍历元组,并执行与...

回答 1 投票 0

enable_if()以禁用模板化类的静态成员函数声明

我正在尝试在模板类中声明函数,以便函数声明取决于模板类型参数。 template struct Block {static bool parse(int32_t index,...

回答 1 投票 0

构造函数SFINAE,继承失败,用clang

以下代码在GCC下可正常编译,但在clang中失败,并显示以下错误:没有匹配的构造函数来初始化'Bar'问题似乎是clang认为模板构造函数...

回答 1 投票 1

使用`std :: enable_if`失败转发包装器

我正在尝试创建一个转发包装函数,该函数对c ++ 14中的函数调用进行计时。我需要处理2种类型,一种是计时不返回值的函数,而...

回答 2 投票 0

寻找用于`enable_if`的`is_allocator`类型特性>>

是否存在“足够”可靠的方法来检测模板参数中的分配器。也就是说,我需要可以在enable_if中使用的is_allocator类型特征之类的东西:假设存在...

回答 3 投票 5

用于const和非const类型的相同模板特化

我有以下代码:#include A类{}; B类{}; template void Do(T data){std :: cout < void Do(A * data)...

回答 2 投票 0

SFINAE与标签分发之间的差异

在此视频中,https://youtu.be/Vkck4EU2lOU?t = 582“标签分发”和SFINAE作为替代方案被提出,从而可以实现所需模板功能的选择。这是正确的吗?是不是......>

回答 1 投票 0

C ++ SFINAE:如果可能,对标准集合进行排序

我已经看到了与SFINAE相关的各种答案,这些答案取决于类是否具有特定功能而有条件地调用函数。它们与我要达到的目标大不相同,...

回答 1 投票 0

如何允许函数接受指定的类型?

因此,我希望我的函数接受模板化参数,如下所示:template void foo(T test)我只希望foo接受我指定的所有这些类型。说我有...

回答 2 投票 0

[C ++ 11函数模板专门存在于类方法中]

我有这个功能模板:template Json :: Value write_json(const T&object);当T为int时,特化很简单:template <> Json :: Value write_json(const ...

回答 1 投票 1

验证(使用static_assert)元组类型遵循某种顺序(有状态编译时检查)

对于相对较旧的软件中的某些序列化应用程序,我的类型看起来像这样:使用T = boost :: tuple ,std :: vector&...

回答 1 投票 1

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

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

回答 1 投票 1

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

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

回答 1 投票 2


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

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

回答 2 投票 1

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

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

回答 2 投票 2

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