ProcessSpec spec Error

void EarlyReflections::prepareToPlay(double sampleRate, int samplesPerBlock) {
//==Call processing in DelayWithEarlyReflections.h==//
//juce::dsp::ProcessSpec spec;
auto spec = juce::dsp::ProcessSpec();
spec.numChannels = getNumChannels();
spec.sampleRate = sampleRate;
spec.maximumBlockSize = samplesPerBlock;

delayWithEarlyReflections.prepare(spec);

}
This where I call: void prepare (ProcessSpec& spec)
{
//jassert (spec.numChannels <= maxNumChannels);
//spec.sampleRate = sampleRate;

    updateDelayLineSize();
    updateDelayTime();

    filterCoefs = juce::dsp::IIR::Coefficients<Type>::makeFirstOrderHighPass (sampleRate, Type (1e3));

    for (auto& f : filters)
    {
        f.prepare (spec);
        f.coefficients = filterCoefs;
    }
} 

//This code is take directly from the Delay tutorial, but this method causes this error: error: ‘ProcessSpec’ has not been declared
40 | void prepare (ProcessSpec& spec)

I am confused by this, does anyone have any suggestions, spec is declared in EarlyReflections (first code block ) and have also been commenting in/out its defintion in the delayClass. Many thanks in advance

The only thing I can see, is that it looks like you’re using sampleRate in prepare(), not spec.sampleRate.

it might simply miss the juce or juce::dsp namespace

Was a namespace issue in the function declaration, such a stupid mistake on my behalf, thank you guys !