que - C++ Inicializando la variable de estructura constante estática
punteros y arreglos en c (2)
Estoy tratando de agregar una variable constante estática a mi clase, que es una instancia de una estructura. Como es estático, debo inicializarlo en la declaración de clase. Probando este código
class Game {
public:
static const struct timespec UPDATE_TIMEOUT = { 10 , 10 };
...
};
Obteniendo este error:
error: no se permite un inicializador incluido en llaves aquí antes de ''{'' token
error: inicialización no válida en clase del miembro de datos estáticos del tipo no integral ''const timespec''
¿Cómo lo inicializo? ¡Gracias!
Declare la variable como una variable estática dentro de una función y haga que esa función devuelva la referencia a la variable.
Inicialícela en una definición separada fuera de la clase, dentro de un archivo fuente:
// Header file
class Game {
public:
// Declaration:
static const struct timespec UPDATE_TIMEOUT;
...
};
// Source file
const struct timespec Game::UPDATE_TIMEOUT = { 10 , 10 }; // Definition
Si incluye la definición en un archivo de encabezado, es probable que obtenga errores del enlazador sobre símbolos definidos múltiples si ese encabezado está incluido en más de un archivo fuente.