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

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

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

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

25.05.2014, 01:17. Просмотров 331. Ответов 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++
Это можно : Array a(10); a.set(0,5); Array b(a); А это нельзя : Array a(10); Array b(20); a = b;

Почему удаляется объект? - C++
Помогите, пожалуйста, понять почему удаляется объект и как это исправить? Идея следующая: В Source.cpp я создаю два объекта, вызывая...

Почему не создается второй объект класса? - C++
#include <string> // Заголовочный файл students.h class students { public: students(std::string user_name, std::string...

Не создаётся объект string на ровном месте! Почему? - C++
Ребята, чё-то я не пойму: #include <string> #include <stdio.h> #include <iostream> using namespace std; int main () { char...

Почему глобальный объект, объявленный до main, конструируется в ней? - C++
Всё просто, имеем код: #include <windows.h> #include <stdio.h> using namespace std; class x { public: x () { printf...

Почему перегруженный оператор = должен возвращать ссылку на объект - C++
Объясните доступно пожалуйста. Почему перегруженный оператор= должен возвращать ссылку на объект? А оператор+ может возвращать как...

Почему объект типа std::vector не читается из потока? - C++
# include <iostream> # include <vector> # include <fstream> using namespace std; int main () {

Почему при инициализации строки, сначала создаётся пустой объект? - C++
Чтобы при создании присвоить строке какое-то значение, можно использовать два способа: string str1(”bla-bla-bla”); или string str2 =...

Почему два раза создаётся объект с ОДНИМ И ТЕМ ЖЕ ИМЕНЕМ? - C++
#include <windows.h> #include <iostream> using namespace std; class arr{ public: arr(){ cout << "Вызов конструктора по...

Есть объект типа T, но если вместо него подставить вызов функции, возвращающей T, код не компилится, почему? - C++
Есть объект типа vector<int>, но если вместо него подставить вызов функции, возвращающей vector<int>, код не компилится (template мутит...

Теория. Почему в данном случае copy() не работает после reserve(), но работает после resize()? - C++
Есть такая функция: void Array::SetStartIndexes(sz3_Arr_t *array) { start_index.reserve(array->size()); ...

Как работает динамическое выделение памяти под объект? - C++
class A { public: A(int x){} ~A(){} }; const int n = 50; A* placementMemory = static_cast<A*>(operator new (n *...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5104 / 4424 / 1472
Регистрация: 14.04.2014
Сообщений: 17,543
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
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
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     Почему объект не работает?
Ответ Создать тему
Опции темы

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