T'as 10 erreurs au mètre carré dans ce code.
Première chose, ton pointeur de sprite ne pointe vers rien, tu as oublié de l'initialiser (i.e. le faire pointer vers un sprite valide). Ici tu n'as pas besoin de pointeur, vire moi ces saletés
Ensuite la texture est locale à la fonction, aussitôt qu'elle aura retourné la texture sera détruite et le sprite se retrouvera comme un con.
Ensuite tu ne vérifies pas si loadFromFile a réussi ou non.
Ensuite utilise std::string et non char* (au pire const char*).