• Martes 14 de Abril de 2026, 06:22

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Demenus

Páginas: [1]
1
C/C++ / Problema con puntero a función miembro
« en: Sábado 10 de Abril de 2010, 05:51 »
Bueno, resulta que estoy intentando crear un array con una estructura que almacene un nombre y una "función"
En Python estoy acostumbrado a que todo se guarde como una dirección de memoria y quede muy bonito y muy sencillo, pero con C++ estoy teniendo problemas a la hora de intentar guardar una función miembro dentro del campo para funciones de la estructura.
(Perdón si no me expreso muy bien con los términos pero es que soy autodidacta y todavía no he llegado a distinguir esos matices del todo XDD
Bueno aquí les dejo el código que me tira el error en cuestión
Código: C++
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. class foo {
  5.     public:
  6.         foo();
  7.    
  8.         typedef struct {
  9.             string nombre;
  10.             void *funcion();
  11.         } lista_nombres;
  12.  
  13.         void function()
  14.         {
  15.             cout<<"hola mundo"<<endl;
  16.         }
  17.  
  18.         void function2()
  19.         {
  20.             cout<<"hola mundo 2"<<endl;
  21.         }
  22.  
  23.         lista_nombres list[2];
  24.  
  25. };
  26.  
  27. foo::foo()
  28. {
  29.     list[0].nombre="uno";
  30.     list[0].funcion=&function;
  31.     list[1].nombre="dos";
  32.     list[1].funcion=&function2;
  33.    
  34.     list[0].funcion();
  35.     list[1].funcion();
  36. }
  37.  
  38. int main()
  39. {
  40.     foo elemento();
  41. }
  42.  


El error que me tira es este:
Código: Text
  1. prueba.cpp: In constructor ‘foo::foo()’:
  2. prueba.cpp:32: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function.  Say ‘&foo::function’
  3. prueba.cpp:32: error: invalid use of member (did you forget the ‘&’ ?)
  4. prueba.cpp:34: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function.  Say ‘&foo::function2’
  5. prueba.cpp:34: error: invalid use of member (did you forget the ‘&’ ?)
  6.  
  7.  
  8.  

He intentado seguir las sugerencias del compilador pero... sin resultados.
Muchas gracias de antemano

2
Visual C++ / ¿Como muestro la consola?
« en: Miércoles 17 de Febrero de 2010, 23:37 »
Veran, estoy haciendo una aplicación de Win32 y el caso es que todo es visual, y estoy acostumbrado en linux a cuando quiero visualizar el valor de una variable con un "cout<<variable;"
me va pues bastante bien, en visual c++ lo he probado pero no me abre ninguna consola y no se que hacer para que se abra una consola.
Creo que debe ser alguna opción en el mismo Visual C++ pero soy totalmente ignorante en este campo XDD

Perdón si he dicho alguna tontería explicandome y gracias por responder.

Páginas: [1]