Preguntas etiquetadas con c++

34
Sobrecargar una función usando plantillas

Estoy tratando de definir una función usando plantillas y quiero que el nombre de tipo sea int o anEnum (una enumeración específica que había definido). He intentado lo siguiente pero he fallado: template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T> bool...

33
¿Es legal asignar de nuevo un puntero para que funcione?

Los punteros a funciones no son punteros de datos simples ya que no pueden almacenarse en un puntero nulo *. No obstante, parece que puedo almacenar la copia de un puntero de función en la memoria dinámica (en gcc y clang) como en el código a continuación. ¿Es legal ese código de acuerdo con el...

32
C ++ decltype y paréntesis: ¿por qué?

El tema se discutió antes , pero esto no es un duplicado. Cuando alguien pregunta sobre la diferencia entre decltype(a)y decltype((a)), la respuesta habitual es: aes una variable, (a)es una expresión. Encuentro esta respuesta insatisfactoria. Primero, aes una expresión también. Las opciones para...

30
¿Cómo se llama el (...) en C y C ++?

Uno de los usos de ...es denotar entidades variadas en C y C ++. ¿Cual es su nombre? ¿Se clasifica como operador u otra cosa cuando se usa de esa manera? ¿Algún otro detalle con respecto ...? Editar: sé el propósito de .... Estoy preguntando sobre su nombre y clasificación, que espero sea...

28
¿Por qué mi clase no es construible por defecto?

Tengo esas clases: #include <type_traits> template <typename T> class A { public: static_assert(std::is_default_constructible_v<T>); }; struct B { struct C { int i = 0; }; A<C> a_m; }; int main() { A<B::C> a; } Al compilar, a_mno se puede construir por...