It seems that delay has been declared as an array of Nadc elements. Thus, the type of delay[i], being i an integer used to subscript the array, is a double.
However, you are trying to assign a std::initializer_list, i.e. a list of values, to one of such elements in the array, which of course is ill-formed.
I guess you instead intended to replace all the elements in the array, as in delay = { ... }; nonetheless, C++ does not allow array assignment, so you have basically two options:
Declare delay as an std::array<double, Nadc>, which allows direct assignment, e.g.
That’s weird, as in: it’s ill-formed C++ and I am pretty sure that every compliant compiler would complain. Are you absolutely sure that there were no more changes in the code?
Sure. IIUC how your code looks before / after the change, before the change, the array is initialized and it is not assigned-to again. That is perfectly legal.
@Wile_E_Coyote, nothing if the array is just initialized; I was actually referring to using copy-assignment after the delay[] array has been initialized (see above).