错误 C2248:'sf::NonCopyable::NonCopyable'
error C2248: 'sf::NonCopyable::NonCopyable'
我想在 SFML 库中创建简单的形状,但我不知道如何在多个文件中共享项目。我知道必须是什么样子,但我想知道为什么这不起作用
主文件:
#include <iostream>
#include <SFML/Graphics.hpp>
#include "Ball.cpp"
using namespace std;
using namespace sf;
int main()
{
RenderWindow win(VideoMode(800, 800), L"Rozdział 1");
while (win.isOpen())
{
win.clear(Color::White);
Event e;
while (win.pollEvent(e))
{
if (e.type == Event::Closed)
win.close();
}
Ball ball(win);
win.display();
}
}
和ball.cpp
#include <iostream>
#include <SFML/Graphics.hpp>
using namespace std;
using namespace sf;
class Ball
{
public: Ball(RenderWindow win)
{
CircleShape circle(50);
circle.setPosition(0, 0);
circle.setOutlineColor(Color::Red);
circle.setOutlineThickness(2);
Texture texture;
if (!texture.loadFromFile("textura.png"))
cerr << "Nie można załadować grafiki\n";
circle.setTexture(&texture);
win.draw(circle);
}
};
我必须创建这个球的列表,我是 C++ 的新手,我只在 Java 中创建项目,但首先我想知道如何共享这个项目
您按值传递 sf::RenderWindow
因此它会尝试创建一个副本,但是 sf::RenderWindow
class 是不可复制的,如错误消息所示。
通过引用传递它或更好地从 sf::Drawable
派生您的 Ball
class 并实现 draw()
函数。
我想在 SFML 库中创建简单的形状,但我不知道如何在多个文件中共享项目。我知道必须是什么样子,但我想知道为什么这不起作用
主文件:
#include <iostream>
#include <SFML/Graphics.hpp>
#include "Ball.cpp"
using namespace std;
using namespace sf;
int main()
{
RenderWindow win(VideoMode(800, 800), L"Rozdział 1");
while (win.isOpen())
{
win.clear(Color::White);
Event e;
while (win.pollEvent(e))
{
if (e.type == Event::Closed)
win.close();
}
Ball ball(win);
win.display();
}
}
和ball.cpp
#include <iostream>
#include <SFML/Graphics.hpp>
using namespace std;
using namespace sf;
class Ball
{
public: Ball(RenderWindow win)
{
CircleShape circle(50);
circle.setPosition(0, 0);
circle.setOutlineColor(Color::Red);
circle.setOutlineThickness(2);
Texture texture;
if (!texture.loadFromFile("textura.png"))
cerr << "Nie można załadować grafiki\n";
circle.setTexture(&texture);
win.draw(circle);
}
};
我必须创建这个球的列表,我是 C++ 的新手,我只在 Java 中创建项目,但首先我想知道如何共享这个项目
您按值传递 sf::RenderWindow
因此它会尝试创建一个副本,但是 sf::RenderWindow
class 是不可复制的,如错误消息所示。
通过引用传递它或更好地从 sf::Drawable
派生您的 Ball
class 并实现 draw()
函数。