Resultados da pesquisa a pedido "overload-resolution"

1 a resposta

chamada de sobrecarregado com a função de membro ref-qualifiers é ambígua

Eu encontrei um comportamento estranho ao completar meu código comG ++ (gcc4.8.1 eMinGW4.8.2 com-std=gnu++1y bandeira). No espírito do SSCCE, isolei o seguinte trecho: struct C { template< typename X > auto f(X &&) const & { ; } template< ...

3 a resposta

Chamada de método ambígua com sobrecarga de parâmetro Action <T>

Encontrei algum comportamento inesperado do compilador ao chamar o método sobrecarregado com diferentesAction<T> variações. Digamos que eu tenho essa aulaTest e eu estou criando sua instância noCallTest construtor. public class Test { public ...

1 a resposta

Resolução de sobrecarga peculiar com while (true)

Eu estava implementando sobrecargas de sincronização / async quando me deparei com essa situação peculiar: Quando eu tenho uma expressão lambda regular sem parâmetros ou um valor de retorno, ela vai para oRun sobrecarga com oAction parâmetro, ...

2 a resposta

Por que não consigo usar std :: get <0> em std :: transform?

Ao tentar compilar o código a seguir, que copiava ummaps chaves para umvector: map<string, string> mss; vector<string> vs; transform(mss.begin(), mss.end(), back_inserter(vs), get<0>);O VS2013 não consegue distinguir quaisget é planejado, mas ...

1 a resposta

Inicialização de lista e resolução de sobrecarga com falha do construtor initializer_list

O abaixo não compila comclang35 -std=c++11: #include <iostream> #include <string> #include <initializer_list> class A { public: A(int, bool) { std::cout << __PRETTY_FUNCTION__ << std::endl; } A(int, double) { std::cout << __PRETTY_FUNCTION__ << ...

1 a resposta

Por que a deterioração do ponteiro tem prioridade sobre um modelo deduzido?

Digamos que estou escrevendo uma função para imprimir o comprimento de uma string: template <size_t N> void foo(const char (&s)[N]) { std::cout << "array, size=" << N-1 << std::endl; } foo("hello") // prints array, size=5Agora eu ...

1 a resposta

Se o endereço de uma função não puder ser resolvido durante a dedução, é SFINAE ou um erro do compilador?

No C ++ 0x, as regras SFINAE foram simplificadas para que qualquer expressão ou tipo inválido que ocorra no "contexto imediato" da dedução não resulte em erro do compilador, mas em falha na dedução (SFINAE). Minha pergunta é esta: Se eu pegar o ...

3 a resposta

Como a ambiguidade é determinada no algoritmo de resolução de sobrecarga?

Estou tentando entender o método de resolução de sobrecarga. Por que isso é ambíguo: void func(double, int, int, double) {} void func(int, double, double, double) {} void main() { func(1, 2, 3, 4); }mas isso não é? void func(int, int, int, ...

2 a resposta

Quais são as armadilhas da ADL?

Há algum tempo, li um artigo que explicava várias armadilhas da pesquisa dependente de argumento, mas não consigo mais encontrá-la. Tratava-se de obter acesso a coisas às quais você não deveria ter acesso ou algo assim. Então, pensei em perguntar ...

2 a resposta

Lambdas sobrecarregadas em C ++ e diferenças entre clang e gcc

Estou brincando com um truque para sobrecarregar lambdas em C ++. Especificamente: // For std::function #include <functional> // For std::string #include <string> // For std::cout #include <iostream> template <class... F> struct overload : F... ...