muy sencillamente:símbolo externo sin resolver en miembros de la clase estática
tengo una clase que consiste principalmente de los miembros estáticos públicos, por lo que puede agrupar funciones similares juntos que todavía tienen que ser llamado desde otras clases/funciones.
De todos modos, he definido dos variables de char estáticas sin signo en el ámbito público de mi clase, cuando intento modificar estos valores en el constructor de la misma clase, obtengo un error de "símbolo externo no resuelto" en la compilación.
class test {
public:
static unsigned char X;
static unsigned char Y;
...
test();
};
test::test() {
X = 1;
Y = 2;
}
Soy nuevo en C++ así que no me moleste. ¿Por qué no puedo hacer esto?
Si está escribiendo biblioteca sólo de encabezado, puede utilizar esta técnica para evitar cpp: http://stackoverflow.com/questions/11709859/how-to-have-static -data-members-in-a-header-only-library – ShitalShah