Il codice sopra riportato non funziona. L'oggetto predefinito predefinito f
nel costruttore di Foo
si lamenta del fatto che il valore val
non è dichiarato nell'ambito. Non capisco perché non è dichiarato.Variabile non dichiarata nell'oggetto predefinito costruito nel costruttore
struct Foo2
{
Foo2(int val)
{}
};
struct Foo
{
Foo(int val, Foo2 f = Foo2(val))
{}
};
int main()
{
Foo f(1);
return 0;
}
Non è possibile utilizzare i parametri di parametri di default. – chris
Questa domanda non ha costruttori predefiniti. –