Есть вот такой код(работаю в Code Blocks):
#include <SFML/Graphics.hpp>
class Test
{
sf::Texture testTexture;
testTexture.loadFromFile("sheet1.png");
};
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
Это обычный код для проверки работоспособности sfml, взятый с их сайта. Я добавил к нему свой класс Test. При компиляции code blocks выдает такую ошибку:
main.cpp|6|error: 'testTexture' does not name a type
С чем это может быть связано и в какую сторону копать? Уже третий день бьюсь с этой ошибкой
P.S. без класса код отлично компилируется и работает
А какого поведения вы ожидаете от своего кода? Что по вашему должна делать строка
testTexture.loadFromFile("sheet1.png");
внутри класса?
На самом деле то, что вы хотите делается с помощью конструктора. Как-то так. Конструктор будет вызываться при создании объекта этого класса.
class Test
{
sf::Texture testTexture;
Test() {
testTexture.loadFromFile("sheet1.png");
}
};
Сборка персонального компьютера от Artline: умный выбор для современных пользователей