error: `Klasa1' is inaccessible

U

Uzytkownik

I don't know where and why the error is.
Klasa.h:

class Klasa1
{
protected:
int A, D, M, T;
public:
Klasa1(int a = -1, int d = -1, int m = -1, int t = -1);
Klasa1(Klasa1&);
int PA();
int PD();
int PM();
int PT();
};
class Klasa2 : public KlasaA, Klasa1
{
protected:
enum1 m_enum1;
public:
Klasa2(enum1, KlasaA&, Klasa1&);
Klasa2(Klasa2&);
};
class Klasa3 : public Klasa2
{
protected:
enum2 m_enum2;
public:
Klasa3(enum1, KlasaA&, Klasa1&, enum2);
Klasa3(Klasa3&);
enum2 Enum2();
};


KlasaNr.cc

Klasa2::Klasa2(enum1 pan, KlasaA nag, Klasa1 p) : m_enum1(pan),
KlasaA(nag), Klasa1(p) {}
Klasa2::Klasa2(Klasa2 kopiowana) : m_enum1(kopiowana.m_enum1),
KlasaA(kopiowana), Klasa1(kopiowana) {}

Klasa3::Klasa3(enum1 pan, KlasaA nag, Klasa1 p, enum2 Enum2) :
Klasa2(pan, nag, p), m_enum2(Enum2) {} //8
Klasa3::Klasa3(ZbiorczaLad& kopiowana) : Klasa2(kopiowana),
m_enum2(kopiowana.m_enum2) {}
eTypLad ZbiorczaLad::Enum2() {return m_enum2;}

Error:

g++ -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -g -O2 -c
KlasaNr.cc -MT KlasaNr.lo -MD -MP -MF .deps/KlasaNr.TPlo -fPIC -DPIC -o
..libs/KlasaNr.o
.../../include/Klasa.h: In constructor `
Klasa3::Klasa3(enum1, KlasaA, Klasa1, enum2)':
.../../include/Klasa.h: error: `Klasa1' is inaccessible
KlasaNr.cc:8: error: within this context

what's wrong?
 
L

Larry Brasfield

Uzytkownik said:
I don't know where and why the error is.
Klasa.h:

class Klasa1
{
protected:
int A, D, M, T;
public:
Klasa1(int a = -1, int d = -1, int m = -1, int t = -1);
Klasa1(Klasa1&);
int PA();
int PD();
int PM();
int PT();
};
class Klasa2 : public KlasaA, Klasa1
{
protected:
enum1 m_enum1;
public:
Klasa2(enum1, KlasaA&, Klasa1&);
Klasa2(Klasa2&);
};
class Klasa3 : public Klasa2
{
protected:
enum2 m_enum2;
public:
Klasa3(enum1, KlasaA&, Klasa1&, enum2);
Klasa3(Klasa3&);
enum2 Enum2();
};


KlasaNr.cc

Klasa2::Klasa2(enum1 pan, KlasaA nag, Klasa1 p) : m_enum1(pan), KlasaA(nag), Klasa1(p) {}
Klasa2::Klasa2(Klasa2 kopiowana) : m_enum1(kopiowana.m_enum1), KlasaA(kopiowana), Klasa1(kopiowana) {}

Klasa3::Klasa3(enum1 pan, KlasaA nag, Klasa1 p, enum2 Enum2) : Klasa2(pan, nag, p), m_enum2(Enum2) {} //8
Klasa3::Klasa3(ZbiorczaLad& kopiowana) : Klasa2(kopiowana), m_enum2(kopiowana.m_enum2) {}
eTypLad ZbiorczaLad::Enum2() {return m_enum2;}

Error:

g++ -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -g -O2 -c KlasaNr.cc -MT KlasaNr.lo -MD -MP -MF
deps/KlasaNr.TPlo -fPIC -DPIC -o .libs/KlasaNr.o
../../include/Klasa.h: In constructor `
Klasa3::Klasa3(enum1, KlasaA, Klasa1, enum2)':
../../include/Klasa.h: error: `Klasa1' is inaccessible
KlasaNr.cc:8: error: within this context

what's wrong?

Many things are wrong with that code.
You define several constructors with a different signature
than appeared in the class definition. You use a number
of apparent type names that are not defined as types.
You non-public derivation of Klasa2 from Klasa1 is
likely to give rise to an access problem.

I suggest you start with smaller code fragments and
build up from that rather than putting such a glob of
code thru the compiler all at once. It will be easier
to sort out the errors that way.

It would help those trying to help you here if you
were to post code that you actually attempted to
compile, in a form that others can compile it too.
Few will have the patience to provide definitions
for all the stuff you leave out.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,277
Latest member
VytoKetoReview

Latest Threads

Top