Resultados da pesquisa a pedido "overload-resolution"
Como “std :: cout << std :: endl;” é compilado?
A maioriaManipuladores de fluxo IO [http://en.cppreference.com/w/cpp/io/manip] são funções regulares com a seguinte assinatura: std::ios_base& func( std::ios_base& str );No entanto, alguns manipuladores (incluindo os mais usados ...
Sobrecarga de resolução / ambiguidade na pesquisa de nome (qual)
$ 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 }O comentário no código em 'f' ...
Desambiguação de modelo de função sobrecarregada com `std :: enable_if` e contexto não deduzido
Considere o seguinte 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 ...
Função com o tipo de parâmetro que possui um construtor de cópias com ref não-const escolhido?
Há algum tempo, fiquei confuso com o seguinte comportamento de algum código, quando quis escrever umis_callable<F, Args...> traço. A resolução de sobrecarga não chama funções que aceitam argumentos por ref não-const, certo? Por que não rejeita a ...
Sobrecarga de resolução entre membros do modelo nas classes base e derivada
O compilador da Microsoft (Visual Studio 2017 15.2) rejeita o seguinte 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 == ...
Por que posso impedir conversões implícitas para tipos primitivos, mas não definidos pelo usuário?
Os padrões C ++ de alta integridade sugerem que argumentos rvalue para funções podem ser excluídos, impedindo conversões ...
Como impedir conversões implícitas em um modelo de função?
Como posso definir um modelo de função para impedir conversões implícitas? Parece que posso impedir conversões implícitas usando funções que não são de modelo, mas não usando modelos de função. Definir um modelo de função de referência de ...
SFINAE: verificando a existência de uma função é interrompida quando a sobrecarga é movida para outros namespaces
Quero verificar a existência de uma função em um espaço de nome específico usando SFINAE. eu encontreiSFINAE para testar uma função livre de outro espaço para ...
Resolução de sobrecarga de método com relação a genéricos e IEnumerable
Notei isso outro dia, digamos que você tem dois métodos sobrecarregados: public void Print<T>(IEnumerable<T> items) { Console.WriteLine("IEnumerable T"); } public void Print<T>(T item) { Console.WriteLine("Single T"); }Este código: public void ...
Resolução de sobrecarga de funções de modelo C ++
Eu tenho o seguinte código: #include <iostream> template <typename T> void f (T) { std::cout << "f(T)" << std::endl; } template <typename T> void f (bool) { std::cout << "f(bool)" << std::endl; } int main ( ) { f(true); // #1 prints f(T) ...