Dev - C++ - Ayuda urgente con estas declaraciones

   
Vista:

Ayuda urgente con estas declaraciones

Publicado por Victor (1 intervención) el 13/11/2014 16:10:26
antes de todos buenos dias , necesito una ayuda urgente para una tarea de la uni , me piden que realice un esquema y explique el funcionamiento de estas declaraciones :
int g(int);

int(*pg)(int);

pf=&g;

se que el tema es acerca de punteros , pero de verdad no comprendo para nada las dos primeras declaraciones :s de verdad necesito ayuda , gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda urgente con estas declaraciones

Publicado por Martín (65 intervenciones) el 13/11/2014 21:14:03
Tienes un error en la última expresión: en lugar de pf=&g deberías poner pg=&g, vé por qué:

1
int g(int);
Declara una función de nombre g, que toma un int como argumento y devuelve un int

1
int(*pg)(int);
Define el puntero pg como un puntero a función que toma un int como argumento y devuelve un int

1
pg=&g;
Asigna a pg la dirección de la función g


Va un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int g(int);
 
int main()
{
	int(*pg)(int);
 
	pg=&g;
 
	pg(5);
 
	return 0;
}
 
int g(int i)
{
	std::cout << "hola, desde g(" << i << ")" << std::endl;
	return i;
}


Martín; tutorías particulares de C++ por mail o Skype
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar