elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Consulta de un noob sobre vectores dinamicos para char
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta de un noob sobre vectores dinamicos para char  (Leído 1,743 veces)
Akumadie

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Consulta de un noob sobre vectores dinamicos para char
« en: 22 Noviembre 2016, 21:55 pm »

Tengo una duda que no puedo lograr solucionar, y lo peor es que debe ser bastante sensilla.
Necesito crear un char x[variable].
La "variable" debe provenir a través de un parámetro de función , y el programa me dice que debe ser una constante. El problema es que aún siendo el parámetro enviado declarado "const" me sigue dando el mismo error.


Código
  1. char* devolverChar(const int a) {
  2. char probando[a];
  3. return *probando;
  4. };
  5.  

el error me dice que la variable a debe ser una constante...
Ayuda por favor!


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Consulta de un noob sobre vectores dinamicos para char
« Respuesta #1 en: 22 Noviembre 2016, 22:37 pm »

Una constante, no const.
Una constante es, por ejemplo, que pongas:
Código
  1. char var[56];
Ese 56 es una constante.

Para un vector dinámico, tendrás que trabajar con memoria dinámica:
C++:
Código
  1. char* devolverChar(int a) {
  2. char *probando = new char[a];
  3. return probando;
  4. }

C:
Código
  1. char* devolverChar(int a) {
  2. char *probando = (char*) malloc(sizeof(char) * a);
  3. return probando;
  4. }

Luego, tendrás que liberar al memoria que reservaste con new/malloc. Para ello, delete/free:
C++:
Código
  1. char* ret =  devolverChar(123);
  2. // Aquí utilizas esa cadena todo lo que quieras...
  3. delete[] ret; // Como son varias, ponemos delete[]. Si fuera solo 1, solo se pondría delete

C:
Código
  1. char* ret =  devolverChar(123);
  2. // Aquí utilizas esa cadena todo lo que quieras...
  3. free(ret);


En línea

Akumadie

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Consulta de un noob sobre vectores dinamicos para char
« Respuesta #2 en: 23 Noviembre 2016, 03:08 am »

Muchas gracias por la respuesta ;D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Vectores Dinamicos
Programación C/C++
ANTÓN RAMIREZ 0 4,444 Último mensaje 14 Diciembre 2010, 20:50 pm
por ANTÓN RAMIREZ
Vectores dinamicos
Programación C/C++
latinoalfredo 6 3,241 Último mensaje 30 Octubre 2012, 22:57 pm
por latinoalfredo
Ayuda con consulta noob de C#.
.NET (C#, VB.NET, ASP)
estebankpo15 4 3,481 Último mensaje 3 Abril 2014, 09:37 am
por Eleкtro
Ayuda Vectores Dinámicos
Programación C/C++
windic 3 1,974 Último mensaje 8 Octubre 2014, 22:02 pm
por ivancea96
Consulta sobre declaración de vectores
Programación C/C++
Orubatosu 3 1,994 Último mensaje 23 Noviembre 2014, 11:59 am
por Orubatosu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines