Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Error dependiendo del Pc.

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Error dependiendo del Pc. Responder citando

Buenas..

He dimensionado un vector Bitset de la forma:

Código:
bitset <4782969> XX;


Hasta ahora todo correcto, he cambiado de pc y me da el siguente error al compilar:


[C++ Error] _bitset.h(89): E2021 Array must have at least one element


En la linea

Código:
XX[5]=true;


Alguna idea Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Intenta declararlo así:

Código:

bitset <4782969> XX[]; // opción uno
bitset <4782969> XX(0xffff); // opción dos
XX[5] = true;


No estas asignando espacio en memoria, con la forma que declaras, indicas el tamaño que debe tener, pero no estas reservando un espacio en memoria.

Saludos!!
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Gracias por contestar..

He probado:

Código:
bitset <4782969> XX(0xffff); // opción dos


al compilar me salta expected

He optado por la opcion

Código:
bitset <4782969> XX[];


pero al compilar me saltan los siguientes errores:

en
Cita:

int Index =0;
...
if(!XX[Index])


E2093 'operator!' not implemented in type 'bitset<4782969>' for arguments of the same typ

y en
Código:

int i;
...
if(XX[i])


E2096 Illegal structure operation

Alguna idea Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

no se exactamente que es un bitset pero un array se declara mediante el identificador de tipo de dato y luego el nombre y el numero de elementos entre corchetes

si por ejemplo como veo ahi, intentas utilizar un XX = true por lo que supongo que es booleano....tendrias que declararlo asi

bool XX[5];

y luego asignarle valores a los elementos del 0 al 4 que es como lo numera el ordenador siempre empezando desde 0

o sea: XX[2] = true; XX[4] = false; etc etc

luego aqui:

int i;
...
if(XX[i])

no veo que i tome ningun valor ni que el if compare con nada lo cual puede que no este permitido para ese tipo de estructura.....tendrias que probar asignandole un valor a i y luego hacer la comparacion

por ejemplo

int i =2;

if(XX[3] == 2) ...// el elemento del array es igual a 2 pero claro...siendo un array de enteros claro, no booleano

no es por nada, pero antes de ponerte a programar cosas al tuntun, deberias de estudiar primero el manual de programacion del lenguaje C y algo de estructuras de datos.....lo digo porque es como se hacen las cosas
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias por contestar..

Si he asignado valores al vector (de echo en otro Pc me funciona perfectamente) , indagando por la web creo que es un problema de versiones..

Gracias Otra Vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.