¿Hay alguna manera de llamar a un método de miembro de clase no estático desde otro método que está contenido dentro de la clase principal en C++? Si es así, ¿cómo se vería el código?Llamar a un método miembro no estático desde otro método
El problema es que no puedo declarar este método específico como estático, porque usa otros métodos dentro de la misma clase que no funcionan si lo hago estático.
estoy tratando de usar:
MyClass::myClassMethod();
de un método dentro de la clase principal, pero me da el error: una referencia estática miembro no debe ser relativa a un objeto específico.
Para aclarar, myClassMethod() utiliza otros métodos dentro de MiClase como:
void myClassMethod() {
...
anotherClassMethod();
}
así que si tuviera que hacer myClassMethod estática que pudiera interferir con llamar anotherClassMethod().
Después de leer la pregunta y los comentarios en las respuestas ya publicadas, aún sería útil tener más información acerca de lo que está tratando de hacer. ¿Está 'myClassMethod' en sí mismo estático? ¿De dónde se está llamando? ¿Puedes cambiar los argumentos al método? ¿Cuál es el objetivo del problema que le han asignado? – tmpearce
Parece que realmente necesita saber qué tipo de comportamiento puede desear aquí. La diferencia clave con los métodos estáticos y no estáticos es que este último necesita acceder a cualquier clase de datos, o tal vez hacer llamadas virtuales que internamente hacen más de lo mismo. Si 'myClassMethod' llama' anotherClassMethod' que no es estático, ¿necesita hacer esto? Si no, hágalos estáticos. Si es así, ¿qué espera que suceda cuando el método intente acceder a los datos? – Keith