int fu1(int n){
return 0;
}
pues le paso cout << fu1(4) ;
y el programa se cierra no se le puede pasar funciones a cout? para que muestre el valor devuelto?
los return no pueden devolver una direccion de memoria?? como haría para almacenar la direccion en un int? no el valor si no la direccion
Creo que deberias usar la funcion printf en vez de cout
debes incluir la cabecera stdio.h
printf("%d",fu1(4));
prueba aver,saludos
Hola xafirot, compilado con g++ funciona sin problemas sólo dando el warning al retorno de la dirección...
#include <iostream>
char *foo( void );
int foo2( void );
int *dir( void );
int main()
{
std::cout << "foo:";
std::cout << foo() << std::endl;
std::cout << "foo2:";
std::cout << foo2() << std::endl;
std::cout << "dir:";
std::cout << dir() << std::endl;
}
char *foo( void )
{
return "HOLA MUNDO";
}
int foo2( void )
{
return 0;
}
int *dir( void )
{
int x = 10;
std::cout << "LA DIRECCION DE x es:" << &x << std::endl;
return &x;
}
facu@linux:~/Escritorio$ ./a.out
foo:HOLA MUNDO
foo2:0
dir:LA DIRECCION DE x es:0xbfe2587c
0xbfe2587c
Vale sera windbugs7.
no me a quedado claro una cosa...
imaginaros que tengo una funcion:
int funcion(int x);
int m;
sabiendo que &m es la direccion de memoria de m , como se hace para la funcion?
ahora llevo esto.
#include <iostream>
using namespace std;
int fu1(int n){
return n;
};
int fu2(int *n){
return 0;
};
int main(int argc,char *argv[]){
int m=15;
int *p;
*p=17; //el puntero obtiene el valor de toda la array
p=&m;
//p=&m[2]; apunta a la direccion de memoria
cout << "\n &p:\t "<<&p;
cout << "\n *p:\t "<<*p;
cout << "\n p:\t "<<p;
cout << "\n m:\t "<<m;
cout << "\n &m:\t "<<&m;
cout << "\n____________________________";
*p=16;
cout << "\n &p:\t "<<&p;
cout << "\n *p:\t "<<*p;
cout << "\n p:\t "<<p;
cout << "\n m:\t "<<m;
cout << "\n &m:\t "<<&m;
cout << "\n____________________________";
m=20;
cout << "\n &p:\t "<<&p;
cout << "\n *p:\t "<<*p;
cout << "\n p:\t "<<p;
cout << "\n m:\t "<<m;
cout << "\n &m:\t "<<&m;
cout << "\n____________________________";
cin.get();
return 0;
}
No entiendo esta pregunta:
Citarsabiendo que &m es la direccion de memoria de m , como se hace para la funcion?
¿Quieres saber como devolver la dirección de x con "funcion"? o ¿quieres saber la dirección de la funcion?
la direccion de la funcion