get the types correct e.g. float array, and using q27_to_float(), float_to_q27()
seriously, don't get into the (really) bad habit of casting to fix compilation errors, i promise you long term this will cause you real grief... its one of the most common sources of bugs!
( basically, casting is saying to the compiler, im not interested in you telling me about the bugs i have in my code )
... where casting is required, there are better ways in modern compilers (static_cast, dynamic_cast)
btw, the reason I've pointed you to using floats, is not for the delay,( for that you can simply use int32_t) , but because when the you want to start doing things like 'wet/dry' mixes, or feedback loops, the maths is much easier (/obvious) with floats that using q27 maths.