Click to See Complete Forum and Search --> : list<int> lista1;


maju_a_pole
September 7th, 2002, 05:33 AM
Hi.

First the code a have:

#include <list>
int main()
{
list<int> lista1;
return 1;
}

PROBLEM:
When a try to make it I've got this:

Adstdcaswkec.o: In function `__malloc_alloc_template<0>::_S_oom_malloc(unsigned int)':
Adstdcaswkec.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned int)+0x1a): undefined reference to `endl(ostream &)'
Adstdcaswkec.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned int)+0x27): undefined reference to `cerr'
Adstdcaswkec.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned int)+0x2c): undefined reference to `ostream::operator<<(char const *)'
Adstdcaswkec.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned int)+0x37): undefined reference to `ostream::operator<<(ostream &(*)(ostream &))'
collect2: ld returned 1 exit status
make[1]: *** [Adstdcaswkec] Błąd 1
make: *** [all] Błąd 2

/"Błąd" means error in Polish...


SYSTEM: RedHat 7.2

On the other side can use

enum tr_obszary {
tr_zrodlo, tr_bramka, tr_dren};

struct tr_pol {
int indeks;
tr_obszary obszar;};

typedef vector<list <tr_pol> > pt_tab_polaczen;

and std vectors witout any problems.

Thanks in advance, maju.

Paul McKenzie
September 7th, 2002, 09:09 AM
If your compiler supports namespaces, the list<> class is supposed to be defined in the "std" namespace:

#include <list>
int main()
{
std::list<int> lista1; // Note use of std
return 1;
}

// OR
#include <list>
using namespace std;
int main()
{
list<int> lista1;
return 1;
}

Regards,

Paul McKenzie

maju_a_pole
September 9th, 2002, 01:44 AM
I changed gcc to g++ and there's no problem now.

Thanks for replay, maju