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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Валеркуй
 Аватар для Валеркуй
2 / 2 / 0
Регистрация: 17.06.2013
Сообщений: 122
#1

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

25.05.2014, 01:17. Просмотров 306. Ответов 4
Метки нет (Все метки)

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++ Есть объект типа T, но если вместо него подставить вызов функции, возвращающей T, код не компилится, почему?
Почему допустимо создавать объект по другому объекту, но нельзя присваивать уже созданный объект, другому созданному объекту? C++
C++ Как работает динамическое выделение памяти под объект?
Почему не создается второй объект класса? C++
C++ Почему удаляется объект?
C++ Почему при инициализации строки, сначала создаётся пустой объект?
C++ Почему объект типа std::vector не читается из потока?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4480 / 3818 / 1288
Регистрация: 14.04.2014
Сообщений: 14,990
25.05.2014, 08:45     Почему объект не работает? #2
А почему тип этого window не указан в 21-й строке?
Валеркуй
 Аватар для Валеркуй
2 / 2 / 0
Регистрация: 17.06.2013
Сообщений: 122
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
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
25.05.2014, 11:55     Почему объект не работает? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Валеркуй, попробуйте передачу по ссылке.
Валеркуй
 Аватар для Валеркуй
2 / 2 / 0
Регистрация: 17.06.2013
Сообщений: 122
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     Почему объект не работает?
Ответ Создать тему
Опции темы

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