Portál AbcLinuxu, 12. července 2025 23:24
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]
'?
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.