In precedenza avevo usato TDM-GCC-5.10 e ora tornavo a 4.9 MINGW-GCC e ottenevo uno strano errore con il tentativo di usare la lista -initialization:non può convertire {...} da <elenco inizializzatore racchiuso> per struct
class Vector2
{
public:
Vector2(float x, float y)
{
this->x = x;
this->y = y;
}
float x = 0.f;
float y = 0.f;
};
struct Test
{
int x = 0;
Vector2 v;
};
int main()
{
Test tst = {0,Vector2(0.0f,0.0f)}; //Error
return 0;
}
Errore:
main.cpp: In function 'int main()':
main.cpp:21:41: error: could not convert '{0, Vector2(0.0f, 0.0f)}' from '<brace-enclosed initializer list>' to 'Test'
Test tst = {0,Vector2(0.0f,0.0f)}; //Error
^
ho usato C++ 14 con entrambi i compilatori. Che c'è?
Non c'è alcun 'principale' nella domanda. Vedi [chiedere] e fornire un [mcve]. – Olaf
@Olaf Modificato, copia e prova ad eseguirlo. –
Ripristinato alla versione precedente. Non si suppone che tu debba modificare una domanda una volta che hai una risposta se quella modifica rimuove il contesto per quella risposta. Potresti aggiungere una spiegazione, anche se è chiaramente indicata come tale. – Olaf