sfinae 问答列表

如何定义具有未命名类型名称的模板成员函数?

作者:RobsBiz 提问时间:8/14/2023

我在使用未命名的类型名定义模板成员函数时遇到了问题。 代码在下面。 #include <iostream> #include <type_traits> class A {}; class B...

SFINAE 不会禁用其中一项功能

作者:Quest 提问时间:8/14/2023

我有一个包装 a 并具有函数的类,一个如果不接受任何参数,另一个则使用。packaged_taskCallableinvoke()Callable 我在访问第二个时遇到错误,即使它应该被 SFINA...

创建基于 SFINAE 的构造函数时出现编译错误

作者:Yehonatan 提问时间:8/7/2023

在实现具有基于 SFINAE 的 ctor 的类期间,我收到下一个错误: 在模板中:'std::enable_if<false, void *>'中没有名为“type”的类型;“enable_if”不...

如果 constexpr 与 sfinae

作者:francesco 提问时间:1/7/2019

随着 in 的引入,一些使用编译时 SFINAE in / 解决的问题现在可以使用 ,语法更简单。if constexprc++17c++14c++11if constexpr 例如,考虑以下编译时...

尝试在 C++ 中使用 std::enable_if 有条件地定义成员函数时编译程序失败

作者:mk_g_d 提问时间:7/19/2023

我像往常一样编写一个带有一些成员函数的简单类,这次我尝试仅在类的模板参数满足某些条件时定义成员函数,但代码似乎无法在 g++ 和 vs2019 中编译。最简单的演示是这样的: #include <t...

将 std::enable_if 与复杂谓词一起使用

作者:bselu 提问时间:7/6/2023

必须使用 C++14 我想使用 std::enable_if 使函数仅在给定某些约束的情况下可用。我使用从 libc 标头而不是(我的环境中没有可用的 C++17)来这样做,以便将约束逻辑移动到单独的...

为什么我在使用 std::enable_if [duplicate] 时出现过载错误

作者:Yves 提问时间:7/1/2023

这个问题在这里已经有答案了: enable_if模板参数创建模板重新定义错误 (2 个答案) 5个月前关闭。 我想根据类的一个模板参数定义两种成员函数。这是我的代码:run template <i...

为什么编译器在删除模板时不选择其他重载?

作者:Erik Nouroyan 提问时间:7/1/2023

我正在尝试编写 C++ 代码来了解某个类是否具有默认构造函数(没有 C++20 概念)。以下代码工作正常。 #include <iostream> class C { public: C() =...

SFINAE 函数,根据模板类型返回正确的字符编码?

作者:Tee Mo 提问时间:6/30/2023

我正在创建一个编写代码字符串的类, string 和 wring 之间的区别只是放在basic_string中的内容,所以我打算把它写成一个模板类。 问题在于内部使用的文本字符串也必须根据 Type...

如何为专用模板类提供更紧凑的定义?

作者:buzzysin 提问时间:6/24/2023

请考虑以下情况: template < typename T, bool B = std::is_default_constructible_v<T>> class toy_example; ...


共26条 当前第2页