Resultados da pesquisa a pedido "overload-resolution"

4 a resposta

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

2 a resposta

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

1 a resposta

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

2 a resposta

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

1 a resposta

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

3 a resposta

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

1 a resposta

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

2 a resposta

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

2 a resposta

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

2 a resposta

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