Resultados de la búsqueda a petición "name-lookup"

4 la respuesta

¿Por qué ADL no encuentra plantillas de funciones?

¿Qué parte de la especificación C ++ restringe la búsqueda dependiente de argumentos para encontrar plantillas de funciones en el conjunto de espacios de nombres asociados? En otras palabras, ¿por qué la última llamada enmain a continuación no ...

1 la respuesta

Búsqueda de nombres ambiguos con la directiva using

No está permitido poner un espacio de nombres y una clase con el mismo nombre en una región declarativa, es decir namespace A {} class A{};está mal formado [http://coliru.stacked-crooked.com/a/5b837907b4d0609c](Ver §3.3.1 / 4). Sin embargo, uno ...

2 la respuesta

Búsqueda de nombre y alcance de clase

¿Por qué es que el tipo de retorno de setVal es de tipo cadena y el tipo de parámetro es de tipo doble typedef string Type; Type initVal(); class Exercise { public: typedef double Type; Type setVal(Type); Type initVal(); private: int val; }; ...

3 la respuesta

¿Clase base privada errónea inaccesible?

Compilar este código usando g ++ 4.2.1: struct S { }; template<typename T> struct ST { }; template<typename BaseType> class ref_count : private BaseType { }; template<typename RefCountType> class rep_base : public RefCountType { }; class ...

1 la respuesta

¿Cuál es la regla que permite a 'this->' acceder a miembros de clases base dependientes?

Como sabemos, el siguiente código está mal formado porque el miembrox está en una clase base dependiente. Sin embargo, cambiandox athis->x en la línea indicada corregiría el error. template <typename T> struct B { int x; }; template <typename T> ...

2 la respuesta

Clase de plantilla de herencia múltiple

class messageA { }; class messageB { }; template<class T> class queue { public: virtual ~queue() {} void submit(T& x) {} }; class A : public queue<messageA>, public queue<messageB> { }; int main() { A aa; ...

2 la respuesta

¿Por qué esta llamada a swap () es ambigua?

El siguiente programa #include <algorithm> #include <utility> #include <memory> namespace my_namespace { template<class T> void swap(T& a, T& b) { T tmp = std::move(a); a = std::move(b); b = std::move(tmp); } template<class T, class Alloc ...

1 la respuesta

Ocultar nombre usando declaración

#include <iostream> struct H { void swap(H &rhs); }; void swap(H &, H &) { std::cout << "swap(H &t1, H &t2)" << std::endl; } void H::swap(H &rhs) { using std::swap; swap(*this, rhs); } int main(void) { H a; H b; a.swap(b); }Y este es el ...

1 la respuesta

El operador de comparación para std :: vector <T> no puede encontrar el operador de comparación para T

El siguiente código muy simple no compilará #include <vector> #include <string> namespace Foobar { struct Test { std::string f; std::uint16_t uuid; }; } bool operator==(const Foobar::Test& lhs, const Foobar::Test& rhs){ return lhs.f == rhs.f && ...

2 la respuesta

En una clase derivada con plantilla, ¿por qué necesito calificar los nombres de miembros de la clase base con "this->" dentro de una función miembro?

Mientras investigo el código fuente de Qt, vi que los chicos de trolltech usan explícitamentethis palabra clave para acceder a un campo en destructor. inline ~QScopedPointer() { T *oldD = this->d; Cleanup::cleanup(oldD); this->d = 0; } Entonces, ...