rozumiem co call to implicitly-deleted default constructor
środki, ale nie rozumiem, dlaczego ja dostaję go tutaj:plony struct All-publiczne wezwanie do niejawnie usuniętych domyślnego konstruktora
struct TransformData{
enum type_t{
kDelay=0,
kScale,
kTranslate,
kRotation
}type;
union data_t{
double delaySeconds;
float scale;
float rotation;
vec3 translate;
}data;
};
Wtedy mam:
TransformData data; //generates error noted in title
Czy dany POD nie powinien mieć domyślnego konstruktora dostarczonego przez kompilator?
Kod kompiluje dobrze, jeśli usuniesz 'vec3'. Jaki jest typ 'vec3'? – iammilind
'vec3' jest typedef do Vector3 jak zdefiniowano z własnym domyślnym konstruktorem:' template struct Vector3 { Vector3() {} 'tak, ponieważ' vec3' ma domyślny konstruktor, nie wiem dlaczego to powinien być problem z moją strukturą powyżej –
johnbakers
@Fellowshee: Nie możesz przykleić non-POD do "union". – jxh