Probablemente esta sea una pregunta ridículamente fácil, pero he estado buscando la respuesta por un tiempo pero parece que no puedo resolver esto. Intento inicializar un puntero constante de variable constante en una clase. Aquí está el archivo de cabecera:Miembros constantes no inicializados en las clases
class Scheduler{
public:
Scheduler();
explicit Scheduler(unsigned long *);
private:
const unsigned long *const thresh;
};
Y aquí es el constructor de la clase
Scheduler::Scheduler(unsigned long * threshold):
thresh(threshold)
{}
Cuando intento compilar este código me encuentro con este error:
scheduler.cpp: In constructor ‘Scheduler::Scheduler()’:
scheduler.cpp:3: error: uninitialized member ‘Scheduler::thresh’ with ‘const’ type ‘const long unsigned int* const’
múltiples fuentes las variables de miembros constantes en línea en constructores para las variables miembro apuntan al uso de listas de inicializadores. Creo que estoy haciendo lo que se supone que debo hacer, pero aparentemente todavía no es bueno. ¿Alguien puede ver lo que está mal?
Parece que su código falta la implementación del constructor predeterminado, que es de donde proviene el error. – visitor