mám vytvořenou strukturu a k té bych potřeboval přidal pole ale píše mi to pořád že hodnota výrazu musí být konstantní .. ale já nepotřebuji konstantní hodnotu.
void SadBox
{
int sett;
struct Box1
{
....
};
cin >> sett;
Box1 H_Box1[sett]; // Zde píše že sett musí být konstantní
for (int i= 0; i < sett; i++)
{
...
}
}
Děkuji za radu
Nahlásit jako SPAM
IP: 89.177.211.–
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
#1Kenvelo
Jasné že to musí byť konštantné. Šak to sú základy programovania. Keď si vytváraš statické pole tak veľkosť toho pola musí byť už dopredu známa
#2z
Tebe by to tiež nefungovalo. Robíš tú istú chybu. A ešte ktomu nemusíš odstraňovať každý prvok s delete.
Daj to len raz na celé pole štruktúr a je hotovo
void SadBox(){
struct Box1{
char name[20];
int years;
double value;
};
char *temp[] = {"Robo", "Peto", "Filip", "Majo"};
int sett;
cin >> sett;
Box1 *p = new Box1[sett];
for(int i = 0; i < sett; i++){
strcpy(p[i].name, temp[i]);
p[i].years = i + 25;
p[i].value = i + 56.6;
}
for(int i = 0; i < sett; i++){
cout << p[i].name << ", " << p[i].years << ", " << p[i].value << endl;
}
delete [] p;
}
#3Robo
Vím též že musí ... ale já se ptal na to jak udělat pole bez toho aby hodnota předem musel být konstantní. A jestli ses koukl na můj kód určitě vidíš že sem neměl v plánu vytvořit statické pole...
Nahlásit jako SPAM
IP: 89.177.211.–
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
#5Kenvelo
Pýtal si sa, prečo ti nefunguje tvoj kód. Tak som ti odpísal, lebo takto vytváraš statické pole štruktúr. Viem, že si mal v pláne vytvoriť dynamické pole a keď si sa ty pozrel na môj kód, tak si si tam musel všimnúť že ho vytváram dynamicky