provides no initializer for.....? What?
<pre><code>Pickup::Pickup(std::vector&lt;Agent, std::allocator&lt;Agent&gt;&gt; &amp;agents)" provides no initializer for:
</code></pre>

<p>I'm getting this error for a number of my constructors, annoyingly the error ends abruptly just before it tells me what I'm not providing an initialiser for. Additionally, I'm pretty certain I am in fact providing initialization for everything that needs it. Can anyone shed any light on this?</p>

<pre><code>#include "Pickup.h"

    Pickup::Pickup(vector&lt;Agent&gt;&amp; agents)
        : GameObject(), TOLERANCE(0.1f)
    { // this brace is underlined and is where the error occurs.

        xRotation = D3DXVECTOR3(0.005f, 0.005f, 0.04f);

        count = 0;

        index = -1;

        nodeIndex = -1;

        isPresent = true;
    }

    void Pickup::Regenerate()
    {
        //when the pickup gets picked up, start a countdown
        count++;

        if (count == 300)
        {
            isPresent = true;
            count = 0;
        }
    }

    //void Pickup::addAmmo(int agentIndex) { }

    void Pickup::Update()
    {
        Rotation(Rotation() + xRotation);

        for (unsigned int i = 0; i &lt; agents.size(); i++)
        {
            //if (D3DXVec3Length(agents[i].MainLegsPosition() - Position()) &lt; TOLERANCE &amp;&amp; isPresent)//right here
            //{                   
            //    addAmmo(agents[i].Index());
            //    isPresent = false;
            //}
        }

        if (isPresent == false)
        {
            Regenerate();
        }
    } 

    /*void Pickup::Draw(D3DXMATRIX matView, D3DXMATRIX matProjection, ID3D10Effect* effect)//right here
    {
        if (isPresent == true)
        {
            Draw(matView, matProjection, effect);
        }
    }*/

    // getters
    int Pickup::Index()
    {
        return index;
    }

    int Pickup::NodeIndex() 
    {
        return nodeIndex;
    }

    bool Pickup::IsPresent() 
    { 
        return isPresent;
    }

 /*       vector&lt;Agent&gt;&amp; Pickup::Agents()
    {
        return agents;
    }*/

    // setters
    void Pickup::Index(int index)
    {
        this-&gt;index = index;
    }

    void Pickup::NodeIndex(int nodeIndex)
    {
        this-&gt;nodeIndex = nodeIndex;
    }
</code></pre>

<p>header:</p>

<pre><code>#ifndef PICKUP_H
#define PICKUP_H

#include "gameObject.h"
#include "Agent.h"
#include &lt;vector&gt;

using namespace std;

class Pickup : public GameObject
{
private:

    int count;

    int index;

    int nodeIndex;

    bool isPresent;

    D3DXVECTOR3 xRotation;

    const float TOLERANCE;

    void Regenerate();

protected:

    vector&lt;Agent&gt;&amp; agents;

public:

    Pickup(vector&lt;Agent&gt;&amp; agents);

    virtual void addAmmo(int agentIndex);

    void Update();

    void Draw();

    // getters
    int Index();

    int NodeIndex();

    bool IsPresent();

    // setters
    void Index(int index);

    void NodeIndex(int nodeIndex);
};

#endif
</code></pre>
