Título: Mientro static dentro de clase static, simbolo externo sin resolver Publicado por: patilanz en 7 Septiembre 2016, 23:27 pm Hola,
en este código Código
La variable mainMenuPointer o cualquier variable estática dentro de la clase estática menuItem muestra el error de símbolo externo sin resolver 2001 en visual studio 2013 Alguien sabe porqué? Un saludo Título: Re: Mientro static dentro de clase static, simbolo externo sin resolver Publicado por: class_OpenGL en 8 Septiembre 2016, 08:35 am Los problemas se resume en que en C++, el uso de la palabra static no es el mismo que en Java. En C++ no puedes tener clases estáticas usando static al principio de la clase. La palabra static en C++ solo se puede poner detrás de la declaración y definición de variables o métodos (hablando dentro de POO). Por ello, tampoco puedes hacer static enum menuResult [...]; Eso no está permitido
Título: Re: Mientro static dentro de clase static, simbolo externo sin resolver Publicado por: patilanz en 8 Septiembre 2016, 14:09 pm Los problemas se resume en que en C++, el uso de la palabra static no es el mismo que en Java. En C++ no puedes tener clases estáticas usando static al principio de la clase. La palabra static en C++ solo se puede poner detrás de la declaración y definición de variables o métodos (hablando dentro de POO). Por ello, tampoco puedes hacer static enum menuResult [...]; Eso no está permitido Lo raro es que Código si que funciona En realidad lo que intento hacer es que una vez creada la clase A, todos los objetos con tipo clase B creados tengan un puntero apuntando a clase A sin necesidad de asignar la dirección en cada objeto nuevo creado Título: Re: Mientro static dentro de clase static, simbolo externo sin resolver Publicado por: ivancea96 en 8 Septiembre 2016, 16:15 pm Bueno, static no es la palabra que buscas, es todo. static de hecho, hace algo totalmente opuesto a lo que buscas. Los miembros declarados como static no pertenecen a cada objeto, sino que pertenecen a la clase en sí.
En cualquier caso, una opción es poner una función en la clase menuItem que agregue el elemento al vector y que le asigne su dirección. A menuItem le quitarías la palabra static, y lo pondrías fuera o dentro de la clase mainMenu, como quieras. Luego, mainMenuPointer no puede ser static. Si es static, al cambiarlo, "cambiará en todos los objetos menuItem". Eso significa que funcionaría si solo quisieras tener 1 único mainMenu. |