Resultados de la búsqueda a petición "overload-resolution"

2 la respuesta

Lambdas sobrecargadas en C ++ y diferencias entre clang y gcc

Estoy jugando con un truco para sobrecargar lambdas en C ++. Específicamente: // For std::function #include <functional> // For std::string #include <string> // For std::cout #include <iostream> template <class... F> struct overload : F... { ...

2 la respuesta

Reglas de sobrecarga de funciones con plantilla de C ++

Al sobrecargar una función con plantilla, ¿cómo debe elegir el compilador a qué versión de la función llamar si tiene la opción de: Llame a una versión con plantilla de la función (comofunc<T>(foo))Llame a una versión sobrecargada de la función ...

2 la respuesta

Resolución de sobrecarga: asignación de llaves vacías

Escribi algun codigoS s; ...s = {};, esperando que termine igual queS s = {};. Sin embargo no lo hizo. El siguiente ejemplo reproduce el problema: #include <iostream> struct S { S(): a(5) { } S(int t): a(t) {} S &operator=(int t) { a = t; return ...

2 la respuesta

Determinar qué sobrecarga se seleccionó

Digamos que tengo una función sobrecargada complicada arbitraria: template <class T> void foo(T&& ); template <class T> void foo(T* ); void foo(int );Quiero saber, para una expresión dada,cual foo() se llama. Por ejemplo, dada alguna ...

2 la respuesta

SFINAE no sucede con std :: subyacente_tipo

Debajo del código SFINAE con plantillas variadas se compila muy bien usando clang 3.7.1, C ++ 14: #include <array> #include <iostream> #include <vector> #include <cstdint> enum class Bar : uint8_t { ay, bee, see }; struct S { static void foo() ...

2 la respuesta

Resolución de sobrecarga / ambigüedad en la búsqueda de nombre (cuál)

$ 7.3.3 / 14 (C ++ 03) struct A { int x(); }; struct B : A { }; struct C : A { using A::x; int x(int); }; struct D : B, C { using C::x; int x(double); }; int f(D* d) { return d->x(); // ambiguous: B::x or C::x }El comentario en el código en 'f' ...

2 la respuesta

¿Función con tipo de parámetro que tiene un constructor de copia con referencia no constante seleccionada?

Hace algún tiempo estaba confundido por el siguiente comportamiento de algún código cuando quería escribir unis_callable<F, Args...> rasgo. La resolución de sobrecarga no llamará a las funciones que acepten argumentos por una referencia no ...

2 la respuesta

Método de resolución de sobrecarga con respecto a genéricos e IEnumerable

Me di cuenta de esto el otro día, digamos que tienes dos métodos sobrecargados: public void Print<T>(IEnumerable<T> items) { Console.WriteLine("IEnumerable T"); } public void Print<T>(T item) { Console.WriteLine("Single T"); }Este ...

2 la respuesta

¿Cómo decide el sistema de resolución de sobrecarga de métodos qué método llamar cuando se pasa un valor nulo?

Entonces, por ejemplo, tienes un tipo como: public class EffectOptions { public EffectOptions ( params object [ ] options ) {} public EffectOptions ( IEnumerable<object> options ) {} public EffectOptions ( string name ) {} public EffectOptions ...

2 la respuesta

¿El argumento sobrecargado de grupo de métodos confunde la resolución de sobrecarga?

La siguiente llamada a la @ sobrecargaEnumerable.Select [http://msdn.microsoft.com/en-us/library/system.linq.enumerable.select.aspx] método: var itemOnlyOneTuples = "test".Select<char, Tuple<char>>(Tuple.Create); falla con un error de ...