GCC skarży się na ten kod, mimo że kompilowałem z flagą -std=c++11
, a moja wersja gcc podobno obsługuje Unrestricted unions (> 4.6).Anonimowy związek/struktura klasy z konstruktorem
union
{
struct
{
float4 I,J,K,T;
};
struct
{
float4 m_lines[4];
};
struct
{
float m16f[16];
};
struct
{
float m44f[4][4];
};
};
Należy zauważyć, że float4 ma konstruktor inny niż domyślny, który przyjmuje 0 parametrów.
class float4
{
public:
float4();
....
};
Czy masz pojęcie, co mogę zrobić? Błąd jest:
<anonymous union>::<anonymous struct>::I’ with constructor not allowed in anonymous aggregate
Usuń konstruktor z klasy 'float4'. –
@KerrekSB: Cóż, nie, nie mogę :) – qdii
C++ nie ma żadnych anonimowych struktur ... jest rozszerzeniem twojego kompilatora –