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

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 ...

1 la respuesta

¿Por qué falla aquí la inferencia de tipo Scala?

yo tengoesta clase [http://jamesgolick.com/2010/2/8/monkey-patching-single-responsibility-principle-and-scala-implicits.html] en Scala: object Util { class Tapper[A](tapMe: A) { def tap(f: A => Unit): A = { f(tapMe) tapMe } def tap(fs: (A => ...

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 ...

1 la respuesta

Prioridad de inicialización de lista del objeto del mismo tipo

#include <iostream> #include <initializer_list> using namespace std; struct CL { CL(){} CL (std::initializer_list<CL>){cout<<1;} CL (const CL&){cout<<2;} }; int main() { CL cl1; CL cl2 {cl1}; //prints 21 }Aquí estáCL struct con copy constructor y ...

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() ...

4 la respuesta

¿Cómo se compila "std :: cout << std :: endl;"?

MásManipuladores de flujo IO [http://en.cppreference.com/w/cpp/io/manip]son funciones regulares con la siguiente firma: std::ios_base& func( std::ios_base& str );Sin embargo, algunos manipuladores (incluidos los más ...

1 la respuesta

¿Cómo funciona la resolución de sobrecarga cuando un argumento es una función sobrecargada?

PreámbuloLa resolución de sobrecarga en C ++ puede ser un proceso demasiado complejo. Se necesita un gran esfuerzo mental para comprender todas las reglas de C ++ que rigen la resolución de sobrecarga. Recientemente se me ocurrió que la presencia ...

1 la respuesta

¿Cómo funciona la deducción de argumentos de plantilla cuando una función sobrecargada está involucrada como argumento?

Este es elpregunta más sofisticada mencionado en¿Cómo funciona la resolución de sobrecarga cuando un argumento es una función ...

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' ...