capisco cosa call to implicitly-deleted default constructor
mezzi, ma non capisco il motivo per cui io sono sempre qui:rendimenti struct All-pubblici chiamata a implicitamente eliminati predefinita costruttore
struct TransformData{
enum type_t{
kDelay=0,
kScale,
kTranslate,
kRotation
}type;
union data_t{
double delaySeconds;
float scale;
float rotation;
vec3 translate;
}data;
};
Poi ho:
TransformData data; //generates error noted in title
Non dovrebbe un POD avere un semplice costruttore predefinito fornito dal compilatore?
Il codice viene compilato correttamente se si rimuove 'vec3'. Qual è il tipo di 'vec3'? – iammilind
'vec3' è un typedef per un Vector3 come definito con il proprio costruttore di default:' modello struct Vector3 { Vector3() {} '' così dato vec3' ha un costruttore di default, non so perché questo dovrebbe essere un problema con la mia struttura sopra –
johnbakers
@Fellowshee: non puoi attaccare un non POD in un 'unione'. – jxh