Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-03-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Bien... El problema es que ids no recibe el valor creado en método(int *id). Has pasado el parámetro por valor. Para que cambie el valor de ids, tienes tres maneras:

1) Pasar el parámetro por referencia void metodo(int* &id);
2) Que metodo devuelva un valor int* metodo();
3) Pasar un puntero a un puntero void metodo(int** pid);


1) Por referencia:
Código:
void metodo(int* &id)
{
  //Como tu funcion....
}

//Uso
int *ids;
metodo(ids);
// Ahora ids apunta a un array de enteros;

2) Devolviendo el valor
Código:
int* metodo()
{
   int *id = new id[N];
   .
   .
   .
   return id;
}

//Uso
int* ids = metodo();
// Ahora ids apunta a un array de enteros;
3) Por puntero
Código:
void metodo(int**pid)
{
   int *id = new id[N];
   *pid = id;
   .
   .
   .
}

//Uso
int *ids;
metodo(&ids);
// Ahora ids apunta a un array de enteros;
En general, para pasar una variable por referencia la funcion la declaras asi:

Código:
tipo funcion(tipo &Variable);
Todos estos métodos para pasar variables y que la función cambie el valor de dichas variables, los puedes aplicar a cualquier tipo de datos que tengas.

Saludos.

Última edición por escafandra fecha: 06-03-2008 a las 22:51:35.
Responder Con Cita
  #2  
Antiguo 07-03-2008
Antonioveneroso Antonioveneroso is offline
Miembro
 
Registrado: feb 2008
Posts: 30
Poder: 0
Antonioveneroso Va por buen camino
Muchas gracias por la respuesta.
Sucede que en C++ nunca había programado, y recuerdo que en C así es como
se hacía... si declarabas un puntero, a la hora de pasarlo a una función, lo pasabas
por referencia automáticamente. Creo que tendré qué leer más sobre C++.
Gracias nuevamente.
Saludos!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
El operador as David OOP 17 03-01-2008 12:43:59
Operador LIKE eldiegofg SQL 2 24-08-2007 23:30:59
Operador IS Aztaroth C++ Builder 8 04-08-2004 14:44:27
Operador *= febito SQL 1 09-06-2004 21:26:43
Operador @ Tanix PHP 2 27-10-2003 10:07:14


La franja horaria es GMT +2. Ahora son las 09:48:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi