Portál AbcLinuxu, 26. října 2025 15:40
class prior_queue {
public:
prior_queue(const unsigned int num); // create
void add(service *s); // add a new member
service* get_first(void); // get the very first one off the queue
private:
service **services;
unsigned int number, actual; // number of sevices - all and now present
};
prior_queue::prior_queue(const unsigned int num)
{
number = num;
actual = 0;
services = new service * [num];
}priority_queue coz podle tridy jak jsi ji nazval chces. Funguje to na pricipu AVL nebo Red Black stromu. Nicmene pokud ti rika ze nemuze najit new. Zkusil bych to napsat services = new service * [num]; nebo na zacatku modulu napsat using namespace new.
A taky se mi moc nezdaservices = new service * [num];
services = new service[num];
namespace new jsem nikdy neslyšel, new je klíčové slovo jazyka. Na new service* není nic v nepořádku, je to dynamická alokace ukazatele na service.
std::new nebo dat using namespace std na zacatek modulu.
/usr/include/c++/4.1/new jak se dívám, vidím " This file is part of GCC." a vidím, že void* operator new v žádném namespace není. Prostě žádný std::new neexistuje. V namespace std je leda tak alokátor nebo třídy výjimek.
((new service) krat ([num]))
nemyslim si, ze to neni v neporadku
Že se nestydíte, používat takové formulace v tuhle pozdně večerní hodinu. :-)
((new service) krat ([num]))
A co podle vás znamená to '[num]'?
To '[num]' je podle me duvod proc prekladac krici, ale mozna se pletu a nasobeni ukazatele na objekt cislem v hranatych zavorkach vytvari pole. Coz se mi teda vubec nezda
g++ nebo gcc?
std::bad_alloc?
g++ nebo gcc (při linkování příkazem gcc je třeba přidat ručně -lstdc++), ale tazatele už to asi přestalo zajímat.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.