Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa sablonima

[es] :: C/C++ programiranje :: Problem sa sablonima

[ Pregleda: 1866 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
79.101.150.*



+87 Profil

icon Problem sa sablonima03.06.2009. u 18:07 - pre 181 meseci
Ok resio sam da napravim biblioteku struktura za svoje potrebe a i potrebe projekata koji dolaze na faksu sad, na samom pocetku nailazim na jedan banalan problem:


Code:

template <class Data>
class Bintree :public Tree<Data>
{
public:
    Bintree()
    {
        root=NULL;
        tree=NULL;
    }
    Bintree (Data d,int k)
    {
        root=<Data>new  Node(d,k);
        tree=root;
    };
    void insert(Data d,int k)
    {
        while(tree!=NULL)
            if(tree->key>k)
                tree=tree->right;
            else
            tree=treee->left;
        tree=<Data>new Node(d,k);

    }
};

int main()
{
    Bintree <int>nnn();
    nnn.insert(4,3);
return 0;
}



Sad problem je ovde

nnn.insert(4,3);

poruka je sledeca
left of '.insert' must have class/struct/union
Sad googlao sam i gledao u knjigama..

Tree je abstraktna klasa, Node je jednostavna klasa koja cak ni ne mora da bude klasa, moze i strktura ali ovako mi je lakse posto mogu posle da je prosirim za B stabla :P



[Ovu poruku je menjao nnn dana 03.06.2009. u 19:32 GMT+1]
 
Odgovor na temu

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
79.101.150.*



+87 Profil

icon Re: Problem sa sablonima03.06.2009. u 18:29 - pre 181 meseci
hahaha koja glupost setio sam se


u pitanju je

Bintree <int> nnn();

Iz nekog razloga visual studio to ne tretira kao objekat nego kao funkciju.
 
Odgovor na temu

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
79.101.150.*



+87 Profil

icon Re: Problem sa sablonima03.06.2009. u 18:34 - pre 181 meseci
Mada sada imam gresku

tree=<Data>new Node(d,k);

Citat:
error C2059: syntax error : '<'


a bez <Data> dobijem
dve greske

error C2955: 'Node' : use of class template requires template argument list

'Node' : class has no constructors

Ali Node ima konstruktor


Code:

template <class Data>
class Node{
    public:
        int key;
        Data data;
        Node *left,*right;
        
Node(Data d, int k)
        {
            key=k;
            data=d;
            left=NULL;
            right=NULL;
        }
        
        
    };




 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Problem sa sablonima03.06.2009. u 21:48 - pre 181 meseci
Pričam napamet, ali zar ne treba ovako:

tree = new Node<Data>(d,k);
 
Odgovor na temu

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
79.101.150.*



+87 Profil

icon Re: Problem sa sablonima04.06.2009. u 01:30 - pre 181 meseci
Jeste provalio sam i sam posle nekog vremena.. Hvala u svakom slucaju..
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa sablonima

[ Pregleda: 1866 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.