Hello, first let me say that I'm a Java programer trying to complete a project in C++. I have a SpriteManager class and it has two static members, a static STL list and a static add function.
SpriteManager.h
class SpriteManager{
private:
static std::list<Sprite*> spriteList;
bool collision(Sprite* sp,Sprite* sp2);
void checkCollisions();
public:
SpriteManager();
~SpriteManager();
static void add(Sprite* sprite);
void updateSprites();
void drawSprites(HDC hDC);
};
Here is how I define the add() method...uh, function.
In SpriteManager.cpp
...//other functions
static void SpriteManager:: add(Sprite* sp){
using namespace std;
if(sp){
if(spriteList.size() == 0)
spriteList.push_back(sp);
else{
list<Sprite*>::iterator iter;
for(iter = spriteList.begin();iter != spriteList.end();iter++)
if( sp->getZOrder() > (*iter)->getZOrder()){
spriteList.insert(iter,sp);
return;
}
spriteList.push_back(sp);
}
}
else
MessageBox(NULL,TEXT("Add Null Sprite"),NULL,MB_OK);
}//end method
I get this error:
error C2724: 'SpriteManager::add' : 'static' should not be used on member functions defined at file scope
This error points to the add() function. I don't know how to fix this because I don't know what the error means. Would someone lend me a hand?