问题标签 [enable-if]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
897 浏览

c++ - 如何使用 enable_if<>::type 返回类型对函数进行原型设计?

下面我有3个原型。我希望第一个(注释掉)可以工作,但这是唯一一个工作的(请参阅代码中的注释以了解错误)。更令我惊讶的是,以下两种方法中的任何一种都有效,即使两者都存在。

哪个是正确的原型,为什么第一个不起作用?我正在使用 VS2010 和 VS2012

0 投票
1 回答
1674 浏览

javascript - KnockoutJS:基于数组启用按钮的长度

在我们正在做的一个项目中,我们创建了一个收件箱,用户(除其他外)可以在其中选择项目。如果用户选择了一个项目,则应启用该按钮——如果未选择任何项目,则应禁用该按钮。

很简单,但对于我的生活,我无法让它工作:-(

你可以在这里找到一个小提琴:http: //jsfiddle.net/rzrfp/

我想我错过了一些非常、非常、非常简单和愚蠢的东西,但我已经尝试了几乎所有的东西,但无法让它工作......

0 投票
4 回答
223 浏览

haskell - Haskell 中的“enable_if”

如何在 Haskell 中编写如下内容:

基本上,类似于C++ 中的boost::enable_if

GHC 扩展没问题。

0 投票
1 回答
2303 浏览

c++ - enable_if 迭代器作为默认模板参数?

我有一个这样的构造函数:

我只想在 TI 是一个迭代器时启用这个构造函数(这意味着我认为 TI 有一个 iterator_category)。如何在 C++ 2011 中使用 enable_if 作为默认模板参数(在声明和定义中)?

非常感谢。

0 投票
2 回答
2046 浏览

c++ - 模板方法 enable_if 特化

我有以下无法编译的代码。这是模板类中的两个函数,它们接受参数

我想根据 Ret 的类型对成员方法进行专门化。

有人有什么想法吗?

0 投票
1 回答
1412 浏览

inheritance - enable_if 只允许基类

我目前正在使用基类template<class CRTP> Base和派生类实现一些 CRTP Derived1 : public Base<Derived1>Derived2 : public Base<Derived2>...

数学运算符在中定义,Base并且属于CRTP Base<CRTP>::operator+(const CRTP& rhs)那种意味着我们可以将 a 添加Derived1到 aDerived1但不能将 a 添加到Derived2a 的类型Derived1

此外,我已经定义了运算符Base<CRTP>& Base<CRTP>::operator()(),这意味着Derived1()将返回Base<Derived1>&

我想知道是否有解决方案来执行以下操作:

根据最后两行:

  • 我防止用户犯错误
  • 但是如果他真的想做这个操作,他可以​​将派生类型“强制转换”为基类型,这样就可以了

我唯一需要做的就是定义一个这样的运算符:

在 enable_if 我想要的是:

  • true: 如果 rhs 是Base类型
  • false: 如果 rhs 是一个Derived类型

存在这样的事情吗?您有其他解决方案吗?

非常感谢你 !

0 投票
1 回答
716 浏览

c++ - enable_if 和 has_member 我做错了什么?

我想我已经盯着这个太久了,但我在这里找不到我的错误:

Visual Studio 2012 报告:

(注意,我真的很喜欢这里描述的这个测试的新 C++11 版本,但是 VS2012 还不支持 constexpr。)

0 投票
3 回答
887 浏览

c++ - 如何使这个 boost::enable_if 代码编译(SFINAE)?

我很困惑为什么以下使用的代码boost::enable_if无法编译。它检查 typeT是否有成员函数hello,如果是,则调用它:

我越来越

gcc 4.4.4.

静态断言没问题,has_hello<Foo>::value确实如此true。我用boost::enable_if错了吗?

0 投票
11 回答
24341 浏览

c++ - 如何编写类型特征`is_container`或`is_vector`?

是否可以编写一个类型特征,其值对于所有常见的 STL 结构(例如,、、、vector... set)都为真map

首先,我想编写一个类型特征,它对 a 为真,vector否则为假。我试过这个,但它没有编译:

错误消息是template parameters not used in partial specialization: U

0 投票
3 回答
1239 浏览

c++ - 在构造函数中提升 enable_if

我有一个模板类,我只想在类型为双精度时启用某个构造函数。这段代码有什么问题?

我收到错误消息:“'boost::enable_if_c' 类型参数的默认参数的类型为 'int'”,但我不确定这是什么意思。

非常感谢你。