Resultados de la búsqueda a petición "templates"

1 la respuesta

Reenviar argumentos a la función miembro de plantilla

ejemplo de ideona [http://ideone.com/WpN7oH] Necesito reenviar algunos argumentos predefinidos más algunos argumentos pasados por el usuario a una función miembro. #define FWD(xs) ::std::forward<decltype(xs)>(xs) template<class T, class... ...

2 la respuesta

Plantilla variable en la clase de plantilla: error inesperado (¿posible error?)

Teniendo: struct Value { template<class T> static constexpr T value{0}; };(0) ideona [http://ideone.com/AUo86z] template<typename TValue> struct Something { void x() { static_assert(TValue::template value<int> == 0, ""); } }; int main() ...

2 la respuesta

Visual Studio 2015 "sintaxis no estándar; use '&' para crear un puntero a miembro ”

Estoy intentando mi propia implementación de Linked List en C ++ y no puedo entender por qué estoy teniendo este error. Sé que hay una implementación de STL, pero por razones estoy probando la mía. Aquí está el código: #include <iostream> ...

3 la respuesta

Diferencia entre add_lvalue_reference_t <T> y T &

Supongamos que tiene un argumento de plantillaT. ¿Cuáles son las diferencias entre add_cv_t<T> yconst volatile Tadd_const_t<T> yconst Tadd_volatile_t<T> yvolatile Tadd_lvalue_reference_t<T> yT&add_rvalue_reference_t<T> ...

1 la respuesta

Hacer un constructor de excepciones varargs para llenar el flujo

Básicamente estoy haciendo una clase de excepción y quiero poder pasar detalles de depuración fácilmente, como este: var error = someFunction(); if(error!=0) { throw MyException("someFunction ended with error state #",error,'.'); }Esto ...

3 la respuesta

restringir una función de plantilla, para permitir solo ciertos tipos

Aquí digo que tengo una función de plantilla simple que, en principio, puede aceptar todo tipo de tipos: template <class Type> std::ostream& operator<< (std::ostream& stream, const Type subject) { stream << "whatever, derived from subject\n"; ...

2 la respuesta

Expansión de plantilla variable de declaración de cambio

Permítanme considerar el siguiente ejemplo sintético: inline int fun2(int x) { return x; } inline int fun2(double x) { return 0; } inline int fun2(float x) { return -1; } int fun(const std::tuple<int,double,float>& t, std::size_t i) { switch(i) ...

3 la respuesta

Inicialización de miembro estático en una plantilla de clase

Me gustaría hacer esto: template <typename T> struct S { ... static double something_relevant = 1.5; }; pero no puedo desdesomething_relevant No es de tipo integral. No depende deT, pero el código existente depende de que sea un miembro estático ...

4 la respuesta

Error al crear instancias de plantillas de funciones debido a la referencia universal (hacia adelante) a un tipo de plantilla

Referencias universales [https://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers](es decir, "referencias directas", elc++ nombre estándar) y reenvío perfecto enc++11, c++14y más allá tienen muchas ventajas importantes; ...

2 la respuesta

Coincidencia de especializaciones parciales de plantilla de clase

N4527 14.5.5.1 [temp.class.spec.match] 2 Una especialización parcial coincide con una lista de argumentos de plantilla real dada si los argumentos de plantilla de la especialización parcial pueden deducirse de la lista de argumentos de plantilla ...