Resultados da pesquisa a pedido "overload-resolution"

3 a resposta

Por que um método genérico é escolhido quando existe um não genérico?

O programa abaixo produz esta saída: Foo<T> called Process is terminated due to StackOverflowException.Assim,Foo(baz) chama o genéricoFoo<T>, masBar(baz) se repete e faznão ligarBar<T>. Estou no C # 5.0 e Microsoft .NET. O compilador parece ...

3 a resposta

Por que o construtor de modelos variadic combina melhor que o construtor de cópias?

O código a seguir não compila: #include <iostream> #include <utility> struct Foo { Foo() { std::cout << "Foo()" << std::endl; } Foo(int) { std::cout << "Foo(int)" << std::endl; } }; template <typename T> struct Bar { Foo foo; Bar(const Bar&) { ...

2 a resposta

Regras de sobrecarga de funções modeladas em C ++

Ao sobrecarregar uma função de modelo, como o compilador deve escolher qual versão da função chamar se tiver a opção de: Chame uma versão de modelo da função (comofunc<T>(foo))Chame uma versão sobrecarregada da função que não é modelada, mas ...

1 a resposta

Por que a inferência de tipo Scala falha aqui?

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

2 a resposta

Resolução de sobrecarga: atribuição de chaves vazias

Eu escrevi algum códigoS s; ...s = {};, esperando que acabe da mesma forma queS s = {};. No entanto, não. O exemplo a seguir reproduz o problema: #include <iostream> struct S { S(): a(5) { } S(int t): a(t) {} S &operator=(int t) { a = t; return ...

2 a resposta

O argumento de grupo de método sobrecarregado confunde a resolução de sobrecarga?

A seguinte chamada para o sobrecarregadoEnumerable.Select [http://msdn.microsoft.com/en-us/library/system.linq.enumerable.select.aspx] método: var itemOnlyOneTuples = "test".Select<char, Tuple<char>>(Tuple.Create);falha com um erro de ...

1 a resposta

Prioridade de inicialização de lista de objeto do mesmo 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 }Aqui estáCL struct com construtor ...

2 a resposta

Como o sistema de resolução de sobrecarga de método decide qual método chamar quando um valor nulo é passado?

Então, por exemplo, você tem um tipo como: public class EffectOptions { public EffectOptions ( params object [ ] options ) {} public EffectOptions ( IEnumerable<object> options ) {} public EffectOptions ( string name ) {} public EffectOptions ( ...

2 a resposta

Determinando qual sobrecarga foi selecionada

Digamos que eu tenha alguma função sobrecarregada arbitrária e complicada: template <class T> void foo(T&& ); template <class T> void foo(T* ); void foo(int );Eu quero saber, para uma determinada expressão,qual foo() é chamado. Por exemplo, dada ...

2 a resposta

SFINAE não está acontecendo com std :: subjac_type

Abaixo do código SFINAE com modelos variadic compila bem usando o 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() {} ...