Ich baue ein Programm und brauche eine Funktion, um zu überprüfen, ob sich die Maus auf einem Objekt befindet. Ich habe die Funktion geschrieben und eine neue .hpp-Datei erstellt, weil mehrere Dateien in meinem Projekt die Funktion verwenden. Die Datei heißt HitboxDetec.hpp
. Die Funktion, die ich in sie geschrieben sieht wie folgt aus:LNK2005-Fehler beim Deklarieren einer Funktion in einer .hpp-Datei
bool isClicked(sf::Sprite* Sprite, sf::RenderWindow* pW)
{
int MOUSE_X = sf::Mouse::getPosition(*pW).x;
int MOUSE_Y = sf::Mouse::getPosition(*pW).y;
if (MOUSE_X >= Sprite->getPosition().x &&
MOUSE_X <= Sprite->getPosition().x + Sprite->getPosition().x + 500 &&
MOUSE_Y >= Sprite->getPosition().y &&
MOUSE_Y <= Sprite->getPosition().y + Sprite->getPosition().y + 500)
{
return true;
}
else return false;
}
ich die benötigten Bibliotheken usw. aufgenommen werden und der Code funktioniert (ich es getestet, indem die Funktion in meinem CPP-Datei erklärt).
In meiner CPP-Datei enthalten ich den CookieDetec.hpp
-Datei, und nannte es mit
if(isClicked(pSprite, pW)) {Stuff}
Wenn ich mein Programm kompilieren, es gibt mir nur einen LNK2005-Fehler. Wie kann ich das beheben?