Resultados de la búsqueda a petición "name-lookup"
¿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 ...
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 ...
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; }; ...
¿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 ...
¿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> ...
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; ...
¿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 ...
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 ...
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 && ...
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, ...