Resultados da pesquisa a pedido "overload-resolution"
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 ...
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&) { ...
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 ...
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 => ...
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 ...
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 ...
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 ...
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 ( ...
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 ...
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() {} ...