LINUX.ORG.RU

Btreespomosh


0

1

U menya problema s B-derevom, tochnee realizaciei na baze nego mnozhestva zelochislennyh tochek na ploskosti. U menya tut tri faila: Ordered2DSet.h, Ordered2DSet.cpp i test.cpp. Srazu skazhu, chto class Point - celochislennye tochki s otnosheniem poryadka, BNT - konkretnaya tocka s ssylkoi na pravogo potomka, Node - uzel dereva. Problemy v faile Ordered2DSet.cpp, gde realizovany funcii classov. pri compilyacii(zapuske makefile):

<username>:make
g++ -c Ordered2DSet.cpp
Ordered2DSet.cpp:5:1: ошибка: «Ordered2DSet» не является именем типа
Ordered2DSet.cpp:10:1: ошибка: «Ordered2DSet» не является именем типа
Ordered2DSet.cpp:17:1: ошибка: «Ordered2DSet» не является именем типа
Ordered2DSet.cpp:21:6: ошибка: «Ordered2DSet» не был декларирован
Ordered2DSet.cpp:21:26: ошибка: переменная или поле «copy» объявлено void
Ordered2DSet.cpp:21:26: ошибка: нет декларации «Ordered2DSet» в этой области видимости
Ordered2DSet.cpp:21:40: ошибка: нет декларации «a» в этой области видимости
Ordered2DSet.cpp:21:43: ошибка: нет декларации «Ordered2DSet» в этой области видимости
Ordered2DSet.cpp:21:57: ошибка: нет декларации «b» в этой области видимости
make: *** [Ordered2DSet.o] Ошибка 1

Vot teksty failov makefile:

a.out: test.o Rational.o
	g++ test.o Rational.o
test.o: test.cpp
	g++ -c test.cpp
Rational.o: Rational.cpp
	g++ -c Rational.cpp

sleduyushii

Ordered2DSet.cpp:

#ifndef ORDERED2DSET_H
#define ORDERED2DSET_H
#include "Ordered2DSet.h"

Ordered2DSet::Ordered2DSet() {
    root =0;
}


Ordered2DSet::Ordered2DSet(const Ordered2DSet& orig) {
    root = new Node;
    if (orig.root!= 0)
                copy (orig.root, root);
        else
            root=0;
}
Ordered2DSet::~Ordered2DSet() {
    clear_all (root);
    root=0;
}
void Ordered2DSet::copy (Ordered2DSet *a, Ordered2DSet *b){
        Node *p[2*n+1];

        if (a !=0){
            for (int i=0; i < a->RAmount; i++){
                    b->massiv[i].key = a->massiv[i].key;
            }
            if ( (a->children!=0)){
                    p[0] = new Node;
                    p[1] = new Node;
            }
            else{
                    p[0]=0;
                    p[1]=0;
            }
            for(int i=1;i<2*n;i++){
                if ((a->RAmount >=i+1) && (a->children!=0))
                    p[i+1]=new Node;
                else p[i+1]=0;
            }
            b->children = p[0];
            for(int i=1;i<2*n+1;i++){
                b->massiv[i].p = p[i];
            }
            if (a->RAmount >= 1)
            {
                    copy (a->children, p[0]);
                    copy (a->massiv[0].p, p[1]);
            }
            for(int i=1;i<2*n;i++){
                if (a->RAmount >=i+1) copy (a->massiv[i].p, p[i+1]);
            }
        }
}

void Ordered2DSet::Add (const Node key){
        bool grow;
        BNT u;
        Node *bufer_root;
        search_add_key (key, root, grow, u);
        if (grow == true)
        {
                bufer_root = root;
                root = new Node;
                root->children = 0;
                for (int i=0;i<2*n+1;i++){
                    root->massiv[i].p =0;
                }
                root->RAmount = 1;
                root->children = bufer_root;
                root->massiv[0] = u;

        }
}

void Ordered2DSet::search_add_key (const Node k, Node *a, bool& grow, BNT& m) {
       int i, L, R;
       Node *b;
       BNT u;
       if (a==0){
           grow = true;
           m.key=k;
           m.p =0;
        }
        else{
           L=0;
           R=a->RAmount;
           while (L<R){
                  i = (L+R)/2;
                  if ((bolshe(a->massiv[i].key,k)==0)&&(bolshe(a->massiv[i].key,k)==-1))
                      L = i+1;
                  else
                      R=i;
           }
           R = R-1;
           if ((R>=0) && (bolshe(a->massiv[R].key,k) ==0)){
                grow=false;}
           else{
                if (R==-1){
                    search_add_key(key,v, a->children, grow, u);
                }
                else
                    search_add_key(key,v, a->massiv[R].p, grow, u);
             if (grow==true){
                 if (a->RAmount<2*n){
                     grow= false;
                     a->RAmount++;
                     for (i=a->RAmount-1;i>=R+2;i--)
                          a->massiv[i] =a->massiv[i-1];
                     a->massiv[R+1]=u;
                 }
                 else{
                     b=new Node;
                     b->children=0;
                     for(int c=0;c<2*n+1;c++){
                         b->massiv[c].p=0;
                     }
                     if (R<=(n-1)){
                         if (R==(n-1))
                             m=u;
                         else{
                             m=a->massiv[n-1];
                             for (i=n-1; i>=R+n-1; i--)
                                a->massiv[i]=a->massiv[i-1];
                             a->massiv[R+1]=u;
                         }
                         for (i=0; i<=n; i++)
                             b->massiv[i] = a->massiv[i+n];

                     }
                     else{
                         R=R-n;
                         m=a->massiv[n];
                         for (i=0; i<=R-1; i++)
                              b->massiv[i] = a->massiv[i+n+1];
                         b->massiv[R]=u;
                         for (i=R+1; i<=n-1; i++)
                              b->massiv[i] = a->massiv[i+n];
                     }
                     a->RAmount = n;
                     b->RAmount = n;
                     //a->massiv[b->RAmount-1]->  b->massiv[b->RAmount-1]->parent=b;
                     b->children = m.p;
                     m.p=b;
                }
            }
          }
        }
}
[[/code]]

huihuihui
() автор топика
Ответ на: sleduyushii от huihuihui
bool Ordered2DSet::Search (const Point k){
        return (search_key (k, root));
}

bool Ordered2DSet::search_key (const Point k,const Node *a)const{
        int i, L, R;
        if (a==0){
            return (false);
        }
        else{
                L = 0;
                R = a->RAmount;
                while (L < R){
                        i = (L+R)/2;
                        if ((bolshe(a->massiv[i].key, k)==0)&&(bolshe(a->massiv[i].key, k)==-1))
                                L = i+1;
                        else
                                R = i;
                }
                R = R-1;
                if ((R >= 0) && (bolshe(a->massiv[R].key,k)==0)
                        return (true);
                else
                        if (R == -1)
                                return search_key (k,a->children);
                        else
                               return search_key (k,a->massiv[R].p);
        }
}


void Ordered2DSet::Delete (const Point k){
        bool smallsize;
        Node *bufer_root;
        delete_key (k, root, smallsize);
        if (smallsize==true){
                if (root->RAmount == 0){
                        bufer_root = root;
                        root = bufer_root->children;
                        bufer_root=0;
                }
        }
}


void Ordered2DSet::delete_key (const Point k, Node *a, bool& smallsize){
        int i, L, R;
        Node *q;
        if (a==0)
                smallsize=false;
        else{
                L=0;
                R=a->RAmount;
                while (L < R){
                        i = (L+R)/2;
                        if (bolshe(a->massiv[i].key, k)==-1)
                                L = i+1;
                        else R = i;
                }
                if (R == 0)
                        q = a->children;
                else
                        q = a->massiv[R-1].p;
                if ((R <= a->RAmount-1) && (bolshe(a->massiv[R].key,k==0)){
                        if (q==0){
                            a->RAmount--;
                            smallsize = (a->RAmount < n);
                            for (i=R; i<a->RAmount; i++)
                                    a->massiv[i] = a->massiv[i+1];
                        }
                        else{
                                del(R, a, q, smallsize);
                                if (smallsize==true)
                                        fusion (a, q, R-1, smallsize);
                        }
                }
                else{
                        delete_key (k, q, smallsize);
                        if (smallsize == true)
                                fusion (a, q, R-1, smallsize);
                }
        }
}


void Ordered2DSet::del (int R, Node *a, Node *q, bool& smallsize){
        Node *b;
        b = q->massiv[q->RAmount-1].p;
        if (b !=0){
                del (R, a, b, smallsize);
                if (smallsize==true)
                        fusion (q, b, q->RAmount-1, smallsize);
        }
        else{
            q->massiv[q->RAmount-1].p = a->massiv[R].p;
            a->massiv[R] = q->massiv[q->RAmount-1];
            q->RAmount--;
            smallsize = (q->RAmount < n);
        }
}


void Ordered2DSet::fusion (Node *father, Node *son, int R, bool& smallsize)
{
        Node *b;
        int i, k, RAb, RAfather;
        RAfather = father->RAmount;
        if (R < RAfather-1){
                R++;
                b = father->massiv[R].p;
                RAb = b->RAmount;
                k = (RAb-n+1)/2;
                son->massiv[n-1] = father->massiv[R];
                son->massiv[n-1].p = b->children;
                if (k > 0){
                        for (i=0; i <= k-1; i++)
                                son->massiv[i+n] = b->massiv[i];
                        father->massiv[R] = b->massiv[k];
                        father->massiv[R].p = b;
                        b->children = b->massiv[k].p;
                        RAb = RAb-k-1;
                        for (i=0; i < RAb; i++)
                                b->massiv[i] = b->massiv[i+k+1];
                        b->RAmount = RAb;
                        son->RAmount = n-1+(k+1);
                        smallsize = false;
                }
                else{
                        for (i=0; i < n; i++)
                                son->massiv[i+n] = b->massiv[i];
                        for (i=R; i < RAfather-1; i++)
                                father->massiv[i] = father->massiv[i+1];
                        son->RAmount = 2*n;
                        father->RAmount--;
                        smallsize = (father->RAmount < n);
                        b=0;
                }
        }
        else{
                if (R == 0)
                        b = father->children;
                else
                        b = father->massiv[R-1].p;
                RAb = b->RAmount+1;
                k = (RAb-n)/2;
                if (k > 0){
                        son->massiv[k] = son->massiv[0];
                        son->massiv[k-1] = father->massiv[R];
                        son->massiv[k-1].p = son->children;
                        RAb = RAb-k-1;
                        son->children = b->massiv[RAb].p;
                        father->massiv[R] = b->massiv[RAb];
                        father->massiv[R].p = son;
                        b->RAmount--;
                        son->RAmount = n-1+k;
                        smallsize = false;
                }
                else{
                    b->massiv[RAb-1] = father->massiv[R];
                    b->massiv[RAb-1].p = son->children;
                    b->massiv[RAb] = son->massiv[0];
                    b->RAmount = 2*n;
                    father->RAmount--;
                    smallsize = (father->RAmount < n);
                    son=0;
                }
        }
}



int Ordered2DSet::Amount() const{
    return amount_allkey(root, 0);
}


int Ordered2DSet::amount_allkey(Node *a,int b)const{
        int i;
        if (a!=0){
                for (i=0; i<a->RAmount; i++)
                        b++;
                b=b+amount_allkey(a->children,0);
                for (i=0; i<a->RAmount; i++)
                       b=b+amount_allkey(a->massiv[i].p,0);
        }
        return b;
}

void Ordered2DSet::Clear (){
    clear_all (root);
    root=0;

}


void Ordered2DSet::clear_all (Node *a){
        Node *p[2*n+1];
        if (a!=0){
            if (a->RAmount >=1){
                    p[0] = a->children;
                    p[1] = a->massiv[0].p;
            }
            else{
                    p[0]=0;
                    p[1]=0;
            }
            for(int i=1;i<2*n;i++){
                if (a->RAmount >= i+1)
                    p[i+1]=a->massiv[i].p;
                else
                   p[i+1]=0;
            }
            a=0;
            for(int i=0;i<2*n+1;i++) clear_all(p[i]);
        }
}




void Ordered2DSet::Print (){
        print_b_tree (root, 0);
}


void Ordered2DSet::print_b_tree (Node *a, int level){
        int i;
        if (a != NULL){
                for (i=0; i<level; i++)
                        cout << "---";
                for (i=0; i<a->RAmount; i++)
                {
                        cout << a->massiv[i].key;
                        if (i != a->RAmount-1)
                                cout << ", ";
                }
                cout << endl;
                print_b_tree (a->children, level+1);
                for (i=0; i<a->RAmount; i++)
                        print_b_tree (a->massiv[i].p, level+1);
        }
}


ostream& operator<<(ostream& out, const Point& k)
{out<<"(";
out<<k.x;
out<<" , ";
out<<k.y;
out<<")";
return out;
};
istream& operator>>(istream& in, Point& k){
in>>k.x;
in>>k.y;
return in;
};

int bolshe(Point a, Point b)
{if(a.x>b.x) return 1;
if(a.x==b.x) {if(a.y>b.y) return 1;if(a.y==b.y) return 0;if(a.y<b.y) return -1;}
if(a.x<b.x) return -1;
};
#endif
[[/code]]
huihuihui
() автор топика
Ответ на: комментарий от huihuihui

Ordered2DSet.h:

#ifndef ORDERED2DSET_H
#define ORDERED2DSET_H

#include <iostream>
#include<cmath>
#include<fstream>

using namespace std;

const int n=2;
class Point{
public: int x,y;
Point &operator=(const Point&that){
this->x=that.x;
this->y=that.y;
return *this;
}
friend  int bolshe(Point a, Point b);
friend  ostream& operator<<(ostream& out, const Point& k);
friend  istream& operator>>(istream& in, Point& k);
};
class Node;
class BNT
{public:Point key;
Node * p;
};
class Node{
public:
Node* children;
BNT massiv[2*n];
int RAmount;
};
class Ordered2DSet{
int level;
int size;
void copy (Ordered2DSet *a, Ordered2DSet *b);
void search_add_key (const Node key, Node *a, bool& grow, BNT& m);
bool search_key (const Point k,const Node *a)const;
void delete_key (const Point k, Node *a, bool& smallsize);
void del (int R, Node *a, Node *q, bool& smallsize);
void fusion (Node *father, Node *son, int R, bool& smallsize);
int amount_allkey(Node *a,int b)const;

public:
Node* root;
Ordered2DSet();
Ordered2DSet(const Ordered2DSet&orig);
Ordered2DSet &operator=(const Ordered2DSet&);
void Add(const Point&k);
void Delete(const Point&k);
void Clear();
bool Search(const Point&k);
int Amount()const;
void Print();

~Ordered2DSet();
};
#endif // ORDERED2DSET_H_INCLUDED [[/code]]


test.cpp: 


#include <iostream>
#include <stdlib.h>
#include <time.h>
#include<fstream>

#include "Ordered2DSet.h"

using namespace std;
void test();
int *gen();

int main()
{int i,j,n;
Ordered2DSet k;
Point *r;
r=new Point[8];
test();
fstream fout("out.txt");
i=0;
while(i<8)
{fout>>r[i];
i++;
}
  for(i = 0 ; i < 8 ; i++) { 
       for(j = 0 ; j < 8 - i - 1 ; j++) {  
           if(bolshe(r[j],r[j+1])==1) {           
              Point tmp = r[j]; r[j] = r[j+1] ; r[j+1] = tmp; 
           }
        }
    }
k.root->RAmount=2;
k.root->massiv[0].key=r[2];
k.root->massiv[1].key=r[5];
k.root->children->RAmount=2;
k.root->children->massiv[0].key=r[0];
k.root->children->massiv[1].key=r[1];
k.root->children->children=0;
k.root->children->massiv[0].p=0;
k.root->children->massiv[1].p=0;
k.root->massiv[0].p->RAmount=2;
k.root->massiv[0].p->massiv[0].key=r[3];
k.root->massiv[0].p->massiv[1].key=r[4];
k.root->massiv[0].p->children=0;
k.root->massiv[0].p->massiv[0].p=0;
k.root->massiv[0].p->massiv[1].p=0;
k.root->massiv[1].p->RAmount=2;
k.root->massiv[1].p->massiv[0].key=r[6];
k.root->massiv[1].p->massiv[1].key=r[7];
k.root->massiv[1].p->children=0;
k.root->massiv[1].p->massiv[0].p=0;
k.root->massiv[1].p->massiv[1].p=0;
Point g;
Ordered2DSet ooo;
ooo=k;
ooo.Print();
cin>>i;
if(i==0){cin>>g;cout<<ooo.Search(g);}
if(i==1){cin>>g;ooo.Delete(g);ooo.Print();}
if(i==2){cout<<ooo.Amount();}
if(i==3){cin>>g;ooo.Add(g);ooo.Print();}
if(i==4){ooo.Clear();}
return 0;
} 

void test()
{int i;
int *m;
m=gen();
fstream fout("out.txt");
for(i=0;i<16;i++)
{fout<<m[i];
}
;}



int *gen()
{  int i;
   int *m;
   
   srand(time(NULL));
   for(i=0;i<16;i++)
{m[i]=rand();
}
   return m;
}[[/code]]
huihuihui
() автор топика
Ответ на: комментарий от anonymous

translit

У меня проблема с Б-деревом, точнее реализацией на базе него множества целочисленных точек на плоскости. У меня тут три фаила: Ordered2DSet.cpp, Ordered2DSet.h и test.cpp. Сразу скажу, что класс Point - целочисленные точки с отношением порядка, BNT - конкретная точка с ссылкой на правого потомка, Node - узел дерева. Проблемы в файле Ordered2DSet.cpp, где реализованы фунции классов. При компиляции(запуске makefile)

huihuihui
() автор топика

V cpp faile ne nuzhny include-guardy (#ifndef ORDERED2DSET_H #define ORDERED2DSET_H). ih imya sovpadayet s imenem v Ordered2DSet.h i ego kod vykidblvyayetsya

stack_protector
()
Ответ на: комментарий от Galant

гм

Убрал. Вылезло



Ordered2DSet.cpp: In copy constructor «Ordered2DSet::Ordered2DSet(const Ordered2DSet&)»:
Ordered2DSet.cpp:11:38: ошибка: нет подходящей функции для вызова «Ordered2DSet::copy(Node* const&, Node*&)»
Ordered2DSet.cpp:11:38: замечание: candidate is:
Ordered2DSet.h:36:6: замечание: void Ordered2DSet::copy(Ordered2DSet*, Ordered2DSet*)
Ordered2DSet.h:36:6: замечание:   no known conversion for argument 1 from «Node* const» to «Ordered2DSet*»
Ordered2DSet.cpp: In destructor «Ordered2DSet::~Ordered2DSet()»:
Ordered2DSet.cpp:16:20: ошибка: нет декларации «clear_all» в этой области видимости
Ordered2DSet.cpp: В функции-члене «void Ordered2DSet::copy(Ordered2DSet*, Ordered2DSet*)»:
Ordered2DSet.cpp:23:34: ошибка: «class Ordered2DSet» has no member named «RAmount»
Ordered2DSet.cpp:24:24: ошибка: «class Ordered2DSet» has no member named «massiv»
Ordered2DSet.cpp:24:43: ошибка: «class Ordered2DSet» has no member named «massiv»
Ordered2DSet.cpp:26:22: ошибка: «class Ordered2DSet» has no member named «children»
Ordered2DSet.cpp:35:25: ошибка: «class Ordered2DSet» has no member named «RAmount»
Ordered2DSet.cpp:35:47: ошибка: «class Ordered2DSet» has no member named «children»
Ordered2DSet.cpp:39:16: ошибка: «class Ordered2DSet» has no member named «children»
Ordered2DSet.cpp:41:20: ошибка: «class Ordered2DSet» has no member named «massiv»
Ordered2DSet.cpp:43:20: ошибка: «class Ordered2DSet» has no member named «RAmount»
Ordered2DSet.cpp:45:30: ошибка: «class Ordered2DSet» has no member named «children»
Ordered2DSet.cpp:46:30: ошибка: «class Ordered2DSet» has no member named «massiv»
Ordered2DSet.cpp:49:24: ошибка: «class Ordered2DSet» has no member named «RAmount»
Ordered2DSet.cpp:49:48: ошибка: «class Ordered2DSet» has no member named «massiv»
Ordered2DSet.cpp: At global scope:
Ordered2DSet.cpp:54:6: ошибка: прототип для «void Ordered2DSet::Add(Node)» не имеет соответствия в классе «Ordered2DSet»
Ordered2DSet.h:49:6: ошибка: претендент: void Ordered2DSet::Add(const Point&)
Ordered2DSet.cpp: В функции-члене «void Ordered2DSet::search_add_key(Node, Node*, bool&, BNT&)»:
Ordered2DSet.cpp:80:18: ошибка: no match for «operator=» in «m.BNT::key = k»
Ordered2DSet.cpp:80:18: замечание: candidate is:
Ordered2DSet.h:13:8: замечание: Point& Point::operator=(const Point&)
Ordered2DSet.h:13:8: замечание:   no known conversion for argument 1 from «const Node» to «const Point&»
Ordered2DSet.cpp:88:49: ошибка: could not convert «k» from «const Node» to «Point»
Ordered2DSet.cpp:88:82: ошибка: could not convert «k» from «const Node» to «Point»
Ordered2DSet.cpp:94:52: ошибка: could not convert «k» from «const Node» to «Point»
Ordered2DSet.cpp:98:36: ошибка: нет декларации «key» в этой области видимости
Ordered2DSet.cpp:98:40: ошибка: нет декларации «v» в этой области видимости
Ordered2DSet.cpp:101:36: ошибка: нет декларации «key» в этой области видимости
Ordered2DSet.cpp:101:40: ошибка: нет декларации «v» в этой области видимости
Ordered2DSet.cpp: At global scope:
Ordered2DSet.cpp:150:6: ошибка: прототип для «bool Ordered2DSet::Search(Point)» не имеет соответствия в классе «Ordered2DSet»
Ordered2DSet.h:52:6: ошибка: претендент: bool Ordered2DSet::Search(const Point&)
Ordered2DSet.cpp: В функции-члене «bool Ordered2DSet::search_key(Point, const Node*) const»:
Ordered2DSet.cpp:171:25: ошибка: expected «)» before «return»
Ordered2DSet.cpp: At global scope:
Ordered2DSet.cpp:181:6: ошибка: прототип для «void Ordered2DSet::Delete(Point)» не имеет соответствия в классе «Ordered2DSet»
Ordered2DSet.h:50:6: ошибка: претендент: void Ordered2DSet::Delete(const Point&)
Ordered2DSet.cpp: В функции-члене «void Ordered2DSet::delete_key(Point, Node*, bool&)»:
Ordered2DSet.cpp:213:72: ошибка: no match for «operator==» in «k == 0»
Ordered2DSet.cpp:213:72: замечание: candidates are:
/usr/include/c++/4.6/bits/postypes.h:218:5: замечание: template<class _StateT> bool std::operator==(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
/usr/include/c++/4.6/bits/stl_pair.h:201:5: замечание: template<class _T1, class _T2> bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: замечание: template<class _Iterator> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: замечание: template<class _IteratorL, class _IteratorR> bool std::operator==(const std::reverse_iterator<_IteratorL>&, const std::reverse_iterator<_IteratorR>&)
/usr/include/c++/4.6/bits/allocator.h:122:5: замечание: template<class _T1, class _T2> bool std::operator==(const std::allocator<_T1>&, const std::allocator<_T2>&)
/usr/include/c++/4.6/bits/allocator.h:127:5: замечание: template<class _Tp> bool std::operator==(const std::allocator<_Tp1>&, const std::allocator<_Tp1>&)
/usr/include/c++/4.6/bits/basic_string.h:2427:5: замечание: template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&)
/usr/include/c++/4.6/bits/basic_string.h:2434:5: замечание: template<class _CharT> typename __gnu_cxx::__enable_if<std::__is_char<_Tp>::__value, bool>::__type std::operator==(const std::basic_string<_CharT>&, const std::basic_string<_CharT>&)
/usr/include/c++/4.6/bits/basic_string.h:2448:5: замечание: template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&)
/usr/include/c++/4.6/bits/basic_string.h:2460:5: замечание: template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
/usr/include/c++/4.6/bits/streambuf_iterator.h:194:5: замечание: template<class _CharT, class _Traits> bool std::operator==(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
Ordered2DSet.cpp:213:75: ошибка: expected «)» before «{» token
Ordered2DSet.cpp:231:9: ошибка: expected primary-expression before «}» token
Ordered2DSet.cpp:231:9: ошибка: expected «;» before «}» token
Ordered2DSet.cpp: В функции-члене «void Ordered2DSet::Clear()»:
Ordered2DSet.cpp:339:20: ошибка: нет декларации «clear_all» в этой области видимости
Ordered2DSet.cpp: At global scope:
Ordered2DSet.cpp:345:38: ошибка: нет элемента-функции «void Ordered2DSet::clear_all(Node*)» в классе «Ordered2DSet»
Ordered2DSet.cpp: В функции-члене «void Ordered2DSet::Print()»:
Ordered2DSet.cpp:371:30: ошибка: нет декларации «print_b_tree» в этой области видимости
Ordered2DSet.cpp: At global scope:
Ordered2DSet.cpp:375:52: ошибка: нет элемента-функции «void Ordered2DSet::print_b_tree(Node*, int)» в классе «Ordered2DSet»
make: *** [Ordered2DSet.o] Ошибка 1
[[/code]]

huihuihui
() автор топика
Ответ на: гм от huihuihui

Спрашивай у того, кто писал этот говнокод.
Где-то ты не докопипастил.

Galant
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.