Witajcie,
To chyba mój pierwszy post w tym forum, ucze sie powoli c++ i mam problem :)
Przedstawia się on następująco:
Mam klase wektora w przestrzeni:
class CVector
{
public:
union
{
struct{ float x, y, z;};
float v[3];
};
CVector() {};
CVector(float x_, float y_, float z_) : x(x_), y(y_), z(z_) {};
}
(wiekszosc wyciete bo nieważne aktualnie :) )
Teraz chcę dać owy wektor do unii:
class CInPut
{
public:
CInPut();
union
{
struct{ float Float; };
struct{ CVector Vector; }; (*)
} var;
}
Lecz niestety kompilator daje błąd w linii (*) postaci:
Menu.h:64: error: member CVector CInPut::<anonymous union>::<anonymous struct>::Vector' with constructor not allowed in anonymous aggregate
Menu.h:64: error: member `CVector CInPut::<anonymous union>::<anonymous struct>::Vector' with constructor not allowed in union
Googlałem ale niewiele znalazłem, jedynie to, że a takiej postaci nie CVector nie moze miec konstruktora,
Chciałbym się dowiedzieć, czy rzeczywiście musze usunąć konstruktory z CVector czy może da się to inaczej zrobic?
Pozdrawiam :)