Форум программистов, компьютерный форум CyberForum.ru

Почему объект не работает? - C++

Восстановить пароль Регистрация
 
Валеркуй
 Аватар для Валеркуй
2 / 2 / 0
Регистрация: 17.06.2013
Сообщений: 120
25.05.2014, 01:17     Почему объект не работает? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class KF_Render{
public:
    void start(){
        sf::RenderWindow window(sf::VideoMode(800, 600), "Besedka V2.0");
 
        sf::Texture t_hero;
        t_hero.loadFromFile("C:/resources/login.png");
        
        sf::Sprite s_hero;
        s_hero.setTexture(t_hero);
 
        while (window.isOpen())
        {
            
            kf_event(window);
 
            window.draw(s_hero);
            window.display();
        }
    }
    void kf_event(window){
 
            sf::Event event;
            while (window.pollEvent(event))
            {
                if (event.type == sf::Event::Closed)
                    window.close();
            }
    }
    
 
};
есть такой вот класс, нужно объект window передать в kf_event, и сделать такм кое-какие действия. А он ругается, компилятор, что делать? Что-то делал что он говорил невозможно обратится к Привату pollEvent
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2014, 01:17     Почему объект не работает?
Посмотрите здесь:

C++ Почему два раза создаётся объект с ОДНИМ И ТЕМ ЖЕ ИМЕНЕМ?
C++ Почему глобальный объект, объявленный до main, конструируется в ней?
Не создаётся объект string на ровном месте! Почему? C++
C++ Почему перегруженный оператор = должен возвращать ссылку на объект
Почему допустимо создавать объект по другому объекту, но нельзя присваивать уже созданный объект, другому созданному объекту? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,478
25.05.2014, 08:45     Почему объект не работает? #2
А почему тип этого window не указан в 21-й строке?
Валеркуй
 Аватар для Валеркуй
2 / 2 / 0
Регистрация: 17.06.2013
Сообщений: 120
25.05.2014, 11:38  [ТС]     Почему объект не работает? #3
C++
1
2
3
4
5
6
7
8
9
10
while (window.isOpen())
        {
            
            kf_event(window);
 
            window.draw(s_hero);
            window.display();
        }
    }
    void kf_event(sf::RenderWindow window)
Ошибка:
1>Компиляция...
1>main.cpp
1>c:\sfml-2.1\include\sfml\window\window.hpp(477) : error C2248: sf::NonCopyable::NonCopyable: невозможно обратиться к private член, объявленному в классе "sf::NonCopyable"
1> c:\sfml-2.1\include\sfml\system\noncopyable.hpp(67): см. объявление 'sf::NonCopyable::NonCopyable'
1> c:\sfml-2.1\include\sfml\system\noncopyable.hpp(42): см. объявление 'sf::NonCopyable'
1> Сообщение диагностики возникло в созданной компилятором функции "sf::Window::Window(const sf::Window &)"
1>c:\sfml-2.1\include\sfml\graphics\rendertarget.hpp(419) : error C2248: sf::NonCopyable::NonCopyable: невозможно обратиться к private член, объявленному в классе "sf::NonCopyable"
1> c:\sfml-2.1\include\sfml\system\noncopyable.hpp(67): см. объявление 'sf::NonCopyable::NonCopyable'
1> c:\sfml-2.1\include\sfml\system\noncopyable.hpp(42): см. объявление 'sf::NonCopyable'
1> Сообщение диагностики возникло в созданной компилятором функции "sf::RenderTarget::RenderTarget(const sf::RenderTarget &)"
1>Журнал построения был сохранен в "file://c:\Users\LoL\Documents\Visual Studio 2008\Projects\kfni.ho.ua\kfni.ho.ua\Debug\BuildLog.htm"
1>kfni.ho.ua - ошибок 2, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
25.05.2014, 11:55     Почему объект не работает? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Валеркуй, попробуйте передачу по ссылке.
Валеркуй
 Аватар для Валеркуй
2 / 2 / 0
Регистрация: 17.06.2013
Сообщений: 120
25.05.2014, 12:07  [ТС]     Почему объект не работает? #5
Получилось!!!!!!!!!!!!!!!!!!!!!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (window.isOpen())
        {
            
            kf_event(window);
 
            window.draw(s_hero);
            window.display();
        }
    }
    void kf_event(sf::RenderWindow & window){
 
            sf::Event event;
            while (window.pollEvent(event))
            {
                if (event.type == sf::Event::Closed)
                    window.close();
            }
Ты крут)))
Без этого вряд ли бы я дальше смог как-то облегчить читаемость кода...
Да и вообще, пора бы мне выучить ссылки и указатели!
Yandex
Объявления
25.05.2014, 12:07     Почему объект не работает?
Ответ Создать тему
Опции темы

Текущее время: 10:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru