The following code is correct:
public Sample mOboeSamples[] = { new Sample(1,1), new Sample(1,2) };
public Sample mGuitarSamples[] = { new Sample(1,1), new Sample(1,2) };
public SampleSet mSampleSet[] = {
new SampleSet( "oboe", mOboeSamples ),
new SampleSet( "guitar", mGuitarSamples)
};
but I'd like to write something like:
public SampleSet mSampleSet[] = {
new SampleSet( "oboe", { new Sample(1,1), new Sample(1,2) } ),
new SampleSet( "guitar", { new Sample(1,1), new Sample(1,2) } )
};
This does not compile.
Is there some bit of syntax I'm missing, or is this a language 'feature'?
You need to tell it the type of the arrays you're passing as parameters:
public SampleSet mSampleSet[] = {
new SampleSet( "oboe", new Sample[] { new Sample(1,1), new Sample(1,2) } ),
new SampleSet( "guitar", new Sample[] { new Sample(1,1), new Sample(1,2) } )
};
Without the new expression, the braces aren't valid syntactically (because they're initializers -- in this case -- but you haven't said there's anything there to initialize).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With