Servus, hab grad das Problem, dass mir en Fehler bei dem Code geschmissen wird den ich nicht nachvollziehen kann.
Der Vollständigkeit halber hier noch die wichtigen anderen Klassen:
Bei dem Code bekomm ich folgenden Fehler und kann mir aber nicht erklären wieso. Blickt einer von euch C++ Gurus durch was da schief läuft ?
C-Quellcode
- #ifndef PLAYER_INPUT_COMPONENT_H_
- #define PLAYER_INPUT_COMPONENT_H_
- #include <SFML/Graphics.hpp>
- #include <memory>
- #include "InputComponent.h"
- #include "../Commands/PlayerJumpCommand.h"
- namespace t1
- {
- //forward declaration
- class Player;
- using Key = sf::Keyboard::Key;
- //Component class for handling Player input
- class PlayerInputComponent : public InputComponent<Player>
- {
- public:
- PlayerInputComponent() {};
- std::unique_ptr<Command<Player>> handleInput() override;
- private:
- };
- std::unique_ptr<Command<Player>> PlayerInputComponent::handleInput()
- {
- if(sf::Keyboard::isKeyPressed(Key::W))
- return std::unique_ptr<PlayerJumpCommand> (new PlayerJumpCommand{});
- else if(sf::Keyboard::isKeyPressed(Key::A))
- return nullptr;
- else if(sf::Keyboard::isKeyPressed(Key::D))
- return nullptr;
- else
- return nullptr;
- }
- }
- #endif
Der Vollständigkeit halber hier noch die wichtigen anderen Klassen:
Bei dem Code bekomm ich folgenden Fehler und kann mir aber nicht erklären wieso. Blickt einer von euch C++ Gurus durch was da schief läuft ?
Quellcode
- include/Components/PlayerInputComponent.h: In member function ‘virtual std::unique_ptr<t1::Command<t1::Player>, std::default_delete<t1::Command<t1::Player> > > t1::PlayerInputComponent::handleInput()’:
- include/Components/PlayerInputComponent.h:30:70: error: could not convert ‘std::unique_ptr<t1::PlayerJumpCommand>((operator new(8ul), (<statement>, ((t1::PlayerJumpCommand*)<anonymous>))))’ from ‘std::unique_ptr<t1::PlayerJumpCommand>’ to ‘std::unique_ptr<t1::Command<t1::Player>, std::default_delete<t1::Command<t1::Player> > >’
- return std::unique_ptr<PlayerJumpCommand> (new PlayerJumpCommand{});
- ^
- make: *** [debug] Fehler 1