Pickup::Pickup(std::vector<Agent, std::allocator<Agent>> &agents)" provides no initializer for:
I get this error for several of my constructors, it is annoying that the error ends abruptly before it tells me why I am not providing an initializer. In addition, I am sure that in fact I am providing initialization of everything that needs it. Can anyone shed some light on this?
#include "Pickup.h" Pickup::Pickup(vector<Agent>& 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 < agents.size(); i++) { //if (D3DXVec3Length(agents[i].MainLegsPosition() - Position()) < TOLERANCE && 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<Agent>& Pickup::Agents() { return agents; }*/ // setters void Pickup::Index(int index) { this->index = index; } void Pickup::NodeIndex(int nodeIndex) { this->nodeIndex = nodeIndex; }
Title:
#ifndef PICKUP_H #define PICKUP_H #include "gameObject.h" #include "Agent.h" #include <vector> 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<Agent>& agents; public: Pickup(vector<Agent>& 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
source share