Resultados de la búsqueda a petición "overload-resolution"
Resolución de sobrecarga en espacios de nombres
El siguiente código falla como se esperaba, porque no hay sobrecarga deget es encontrado. Utilizandostd::get resolvería el problema. #include <array> int main() { std::array<int, 2> ar{2,3}; auto r = get<0>(ar);//fails, get was not declared in ...
Resolución de sobrecarga entre miembros de plantilla en clases base y derivadas
El compilador de Microsoft (Visual Studio 2017 15.2) rechaza el siguiente código: #include <type_traits> struct B { template<int n, std::enable_if_t<n == 0, int> = 0> void f() { } }; struct D : B { using B::f; template<int n, std::enable_if_t<n ...
¿Cómo puedo evitar las conversiones implícitas en una plantilla de función?
¿Cómo puedo definir una plantilla de función para evitar conversiones implícitas? Parece que puedo evitar las conversiones implícitas usando funciones que no sean plantillas pero no usando plantillas de funciones. Definir una plantilla de ...
¿Por qué puedo evitar conversiones implícitas para primitivas pero no para tipos definidos por el usuario?
Los Estándares C ++ de alta integridad sugieren que los argumentos de valor de las funciones se pueden eliminar, evitando así conversiones ...
Desambiguación de plantilla de función sobrecargada con `std :: enable_if` y contexto no deducido
Considere el siguiente código: template <typename T> struct dependent_type { using type = T; }; template <typename T> auto foo(T) -> std::enable_if_t<std::is_same<T, int>{}> { std::cout << "a\n"; } template<typename T> void foo(typename ...
¿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 ...
¿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 ...
¿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 ...
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() ...
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 ...