我正在尝试创建一个对象,其中 SFML RenderWindow 对象作为参数传递,但它不仅仅是工作,它一直抱怨指针并且我以错误的方式使用它们。
这里有我的 .h 文件:
#include <iostream>
#include <SFML\System.hpp>
#include <SFML\Window.hpp>
#include <SFML\Graphics.hpp>
using namespace sf;
class Shot
{
private:
RenderWindow &mainWindow;
public:
Shot(RenderWindow &window);
void add(float x, float y, float velocity);
};
这里是我的 .cpp
#include "Shot.h"
Shot::Shot(RenderWindow &window) : mainWindow(&window)
{
mainWindow -> window;
}
void Shot::add(float x, float y, float velocity)
{
CircleShape shape(10);
shape.setPosition(Vector2f(x, y));
shape.setFillColor(Color::Yellow);
mainWindow.draw(shape);
}
错误:
Error 1 error C2248: 'sf::NonCopyable::operator =' : cannot access private member declared in class 'sf::NonCopyable'
Error 2 error C2248: 'sf::NonCopyable::operator =' : cannot access private member declared in class 'sf::NonCopyable'
老实说,我现在不知道有什么问题,我可能做错了,但任何帮助都将不胜感激!:)
此致
自由宁静