腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
3
回答
SFINAE
删除副本构造函数
c++
、
templates
、
copy-constructor
、
sfinae
、
overload-resolution
在某些情况下,我希望
SFINAE
去掉
类
模板
的复制构造函数和复制赋值操作符。但是,如果这样做,就会生成一个默认的复制构造函数和一个默认赋值操作符。
SFINAE
是基于我作为
类
模板
参数传递的标记完成的。问题是,
SFINAE
只在
模板
上工作,而复制构造函数/赋值运算符不能是
模板
。有解决办法吗?
浏览 7
提问于2015-04-03
得票数 16
回答已采纳
1
回答
执行
SFINAE
练习时出现编译错误
c++
、
templates
、
overloading
、
sfinae
我有一个关于
SFINAE
的问题,我遇到了一个意外的编译错误:)这是我的代码:
sfinae
.h:#include <type_traits> }ORDER_ROUTER order_router;下面是
sfinae
.cpp: #include "
sfinae
.h&qu
浏览 0
提问于2018-08-21
得票数 0
2
回答
类
模板
SFINAE
c++
、
templates
、
c++17
、
sfinae
我正在测试
类
模板
SFINAE
。
浏览 10
提问于2020-04-24
得票数 1
4
回答
我可以使用
SFINAE
来检测
模板
类
成员函数吗?
c++
、
templates
、
sfinae
我多次成功地使用
SFINAE
。要检测一个
类
是否提供了一个函数,这不是一个问题。我目前的问题似乎与相反!与还检测派生方法不同,我更愿意只检测
类
的方法。这似乎与方法是
模板
这一事实有关。是否有可能检测到
类
模板
方法?我试着用一种类型实例化
模板
,这种类型不应该有害,但是没有运气。char(&YesType)[1]; template< class U, void (U::*)( int )
浏览 5
提问于2013-08-06
得票数 2
1
回答
在没有
SFINAE
的情况下启用
类
方法
c++
、
metaprogramming
、
c++14
我正在寻找一种方法来启用
类
方法,而不是
SFINAE
,可能是通过继承。(带有operator()的函子类)限定符(const,volatile)依赖于它的
模板
参数,例如: template<typename R = ReturnType> auto operat
浏览 2
提问于2015-08-19
得票数 4
回答已采纳
1
回答
如何在子类中使用
SFINAE
c++
、
templates
、
inheritance
、
template-meta-programming
、
sfinae
我有一个非
模板
的父界面,并试图在子类上使用
SFINAE
。我要做的就是验证第一个
模板
参数的类型可以在没有任何参数的情况下构建。我的问题在前面的宣言中。根据我的理解,
SFINAE
要求一个
类
被转发,声明,然后专门化。Ty, std::enable_if_t<std::is_constructible_v<Ty>>>{}; 我所能找到的与此相关的答案与继承
SFINAE
类
有关。
浏览 0
提问于2020-02-06
得票数 0
回答已采纳
2
回答
C++ GCC为什么这段代码可以用GCC 4.7编译,而不能用4.8编译?
c++
、
gcc
、
c++11
、
sfinae
我喜欢在
模板
类
中使用本地
类
来执行像“静态if”这样的构造。但是我遇到了gcc 4.8不想编译我的代码的问题。然而,4.7确实如此。任务: 我经常使用这样的结构
浏览 3
提问于2013-03-17
得票数 6
2
回答
如何要求
模板
参数是特定
模板
类
的专门化?
c++
、
templates
、
variadic-templates
、
template-specialization
、
c++-concepts
我想定义一个
模板
类
MyClass,其中
模板
参数必须是特定
模板
类
的专门化。在本例中,我希望MyClass是一个
模板
类
,它的第一个
模板
参数接受A的专门化,第二个
模板
参数接受B的专门化。然后,我可以实例化这个
类
如下:现在,您可能会说,“只需将A和B的参数作为MyClass的
模板
参数”。不幸的是
浏览 6
提问于2021-07-04
得票数 0
1
回答
如何强制实例化
类
模板
的成员函数?
c++
、
c++11
、
templates
、
sfinae
我最近发现,
类
模板
的成员函数在使用之前不会被实例化,这非常恼人,因为它会使某些
SFINAE
构造无法工作。我想知道如何确保
类
模板
专门化的成员函数总是在
类
被实例化时立即被实例化--但只使用
类
模板
定义中的语句,这样如果成员函数不能被实例化,
SFINAE
就会生效,编译器就会退回到一般的
类
模板
。
浏览 2
提问于2018-12-18
得票数 0
1
回答
c++11 enable_if错误-
模板
参数重声明
c++
、
templates
、
c++11
、
stl
、
enable-if
as 'typename std::enable_if<std::is_fundamental::value, int>::type <anonymous>' 这里的目的是选择Calc的版本,如果传递的
模板
参数是
类
,则该版本将覆盖基
类
函数调用操作符。如果传递的参数是基本类型,则选择不覆盖基
类
功能的Calc版本。你能帮我理解一下我是怎么做到这一点的吗?
浏览 1
提问于2016-06-30
得票数 1
回答已采纳
1
回答
继承
类
模板
SFINAE
c++
、
templates
、
inheritance
、
sfinae
下面的s1
类
模板
专门化只允许在使用整型
模板
参数时实例化s1。struct s1; struct s1<T, std::enable_if_t<std::is_integral<T>::value>> { }; 下面的
类
模板
s2
类
似;尽管它有条件地从一个普通的基
类
继承私有。
浏览 0
提问于2017-11-13
得票数 0
回答已采纳
1
回答
C++ -专门化具有非类型
模板
参数的
模板
类
上的函数
模板
c++
、
templates
、
template-specialization
、
specialization
我有一个
类
模板
Foo:class Foo {};template <class
浏览 7
提问于2017-11-25
得票数 0
回答已采纳
2
回答
使用
SFINAE
根据
类
模板
参数的类型更改
类
中调用的函数
c++
、
templates
、
c++11
、
sfinae
我有一个
模板
化的
类
,既可以接受标量类型,也可以接受索引类型,并且我希望根据函数的类型调用不同版本的函数: template <typename Ta, typename ...返回值
SFINAE
不起作用(因为这个函数上没有
模板
参数),基于
类
的
SFINAE
似乎不起作用(因为可变
模板
使得在末尾有一个虚拟
模板
参数不起作用)。还有其他想法吗?
浏览 2
提问于2013-03-12
得票数 1
回答已采纳
2
回答
为什么不允许具有不同数量的
模板
参数的
类
/结构声明?
c++
、
templates
、
sfinae
class T2>class A {}; A<int> b; 错误C2976:'A‘:
模板
参数太少在“A”
类
的第二部分。
浏览 5
提问于2015-05-26
得票数 3
回答已采纳
2
回答
与
SFINAE
检查
c++
、
templates
、
friend
、
sfinae
、
friend-function
我在尝试使用
sfinae
检查做朋友声明时遇到了一些麻烦(如果您不需要解释“为什么”和“如何”,就可以跳进代码示例)。因此,如果我不希望编译失败,则无法实例化无法使用的私有函数。因此,我必须通过一个
sfinae
检查(一个独立的函数)调用它。我不想改变的事情:A
类
的原型(f1和f2必须保持私有),
类
B1和B2的原型。 我理解为什么评论中的内容失败(或者我认为我会),但我不知道
浏览 3
提问于2018-10-11
得票数 2
回答已采纳
1
回答
继续我理解std::enable_if用法的尝试
c++14
、
sfinae
boolalpha << true << endl;}; S<int> s; return(0);对于作为非
模板
函数实现的方法type(),我获得了成功的编译和输出;但是,对于使用std::enable_if实现为
模板
函数的同一方法,我得到以下编译错误: so_main.cpp:23:11: error: no matching当该方法为非
模板
时,T的类型被证实为int.但是,当std::enable_if用于在相同
浏览 1
提问于2018-04-09
得票数 1
回答已采纳
1
回答
再谈enable_if_t中的C++
SFINAE
c++
、
templates
、
template-meta-programming
、
sfinae
我想知道为什么
SFINAE
不能直接使用
模板
参数初始化?当我在这里声明另一个
模板
参数时,它以这种形式工作:class enable_if {};return 12;}; Y< double > y;} “
类
成员不能被重新声明”我
浏览 2
提问于2018-12-03
得票数 0
1
回答
不使用
模板
类
成员函数的
SFINAE
c++
、
sfinae
我有一个
模板
类
,如果该类型满足某些条件,我希望删除一个成员函数,据我所知,这应该是
SFINAE
的一个非常基本的用法,例如:class Apublic:is_floating_point<T>::value>::type> return 1.23;}; 然而,这是一个错误的结果“没有类型命名‘类型’”,如
SFINAE
但是,如果foo是一个函数,而不是
类
的成员,这是可行的
浏览 2
提问于2022-02-08
得票数 0
回答已采纳
1
回答
如何在可能使用
SFINAE
的类型中检查字段的存在?
c++
、
linux
、
gcc
、
c++11
我有一个叫做“特征”的结构,它是T型
模板
,“特征”有一个叫做“大小”的字段。当T实际上有一个名为Size的字段时,代码就会编译,一切都会正常工作。它显然没有Size字段,而且代码无法编译struct Traits static const size_t Size = T::Size;我试着用
SFINAE
浏览 3
提问于2014-08-11
得票数 4
回答已采纳
1
回答
具有
模板
类
成员函数的
SFINAE
c++
、
c++11
、
sfinae
我试图了解
SFINAE
,并在尝试将其应用于
模板
类
成员函数时遇到了一个问题。std::is_same<U, float>::value,int> = 0> std::cout <is_same<U, int>::value,int> = 0> void
sfinae
() { // Foo<i
浏览 0
提问于2018-12-11
得票数 1
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
即时通信 IM
活动推荐
运营活动
广告
关闭
领券