如果一个函数模板使用
N3690草案中似乎没有要求这一点。默认情况下,我认为SFINAE不适用。
这似乎很不幸,因为您可以编写一个函数来转发到另一个函数,但您不能使其存在取决于委托方,就像长手写一样。此外,如果没有
是否有提案被撰写或者问题已被正式分析过?
将类类型视为完整的能力在成员签名中可能具有其他影响...但这只是另一个问题的素材。
decltype(auto)
(或者其他使用auto
的类型说明符)做为返回值,但是该函数的return
语句不符合要求,那么是否会发生SFINAE?return
语句被认为是函数签名的直接上下文吗?N3690草案中似乎没有要求这一点。默认情况下,我认为SFINAE不适用。
这似乎很不幸,因为您可以编写一个函数来转发到另一个函数,但您不能使其存在取决于委托方,就像长手写一样。此外,如果没有
decltype(auto)
,则无法检查对等非静态成员函数的存在,因为this
不能在函数签名中使用。然而,这表明了一个根本性问题,decltype(auto)
提供了一种将类类型视为完整的路径,在成员签名中,这是不正确的。是否有提案被撰写或者问题已被正式分析过?
将类类型视为完整的能力在成员签名中可能具有其他影响...但这只是另一个问题的素材。