Resultados da pesquisa a pedido "overload-resolution"
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< ...
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 ...
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, ...
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 ...
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__ << ...
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 ...
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 ...
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, ...
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 ...
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... ...