Resultados da pesquisa a pedido "sfinae"

2 a resposta

Afirmações estáticas e SFINAE

3 a resposta

características para testar se func (args) é bem formado e requer o tipo de retorno

Há várias perguntas / respostas semelhantes, mas não consegui reunir essas respostas para servir aos meus propósitos. Quero traços

1 a resposta

Entendendo a SFINAE

Tanto quanto eu sei, SFINAE significa falhas de substituição não resultam em erros de compilação, mas apenas remover o protótipo da lista de possíveis sobrec...

1 a resposta

Como posso usar std :: enable_if em um operador de conversão?

Basicamente, quero que meu tipo de intervalo seja implicitamente conversível

3 a resposta

SFINAE para criar o modelo base sempre resulta em erro

Então, eu estou projetando uma espécie demy_numeric_cast função para limitar os tipos de conversões disponíveis ao usar uma estrutura que estou escrevendo. Foi bem simples fazer algo como template<typename To, typename From> constexpr To ...

3 a resposta

Erro estranho com uma sobrecarga de operador modelada

4 a resposta

Usando std :: enable_if com parâmetros de tipo anônimo

Eu tento usarstd::enable_if com um parâmetro de tipo não utilizado e sem nome, para não distorcer oreturn tipo. No entanto, o código a seguir não compila. #include <iostream> template <typename T, typename ...

2 a resposta

Implementação C ++ 98/03 std :: is_constructible

Os componentes básicos da minha biblioteca de hobby precisam trabalhar com os compiladores C ++ 98 e C ++ 11. Para aprender e me divertir, criei as implementações C ++ 98 de vários tipos de funcionalidade de suporte (comoenable_if, conditional, ...

4 a resposta

SFINAE para verificar funções membro herdadas

4 a resposta

Como usar enable_if para ativar funções membro com base no parâmetro de modelo da classe

Em código: template<class T> struct is_builtin { enum {value = 0}; }; template<> struct is_builtin<char> { enum {value = 1}; }; template<> struct is_builtin<int> { enum {value = 1}; }; template<> struct is_builtin<double> { enum {value = 1}; ...