Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
druidich
30 / 30 / 4
Регистрация: 21.05.2012
Сообщений: 440
#1

VS 2013 и ООП - C++

04.02.2014, 21:07. Просмотров 442. Ответов 11
Метки нет (Все метки)

столкнулся с проблемой. вроде пытаюсь освоить Directx11 по урокам (не помню ника, с этого форума ). Так вот, столкнулся с проблемой, а именно :
файд inputListened.h
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
33
34
35
36
37
38
#pragma once
#include "InputCode.h"
 
namespace D3D11FrameWork{
 
    struct  MouseEvent  {
        MouseEvent(int nx, int ny) : x(nx), y(ny) {}
        int x;
        int y;
    };
 
    struct MouseEventClick : public MouseEvent{
        MouseEventClick(eMouseKeyCodes b, int nx, int ny) : MouseEvent(nx, ny), btn(b){}
        const eMouseKeyCodes btn;
    };
 
    struct MouseEventWheel : public MouseEvent{
        MouseEventWheel(int nwhell, int nx, int ny) : MouseEvent(nx, ny), wheel(nwhell){}
        int wheel;
    };
 
    struct KeyEvent {
        KeyEvent(wchar_t c, eKeyCodes kc) : wc(c), code(kc){}
        const wchar_t wc;
        const eKeyCodes code;
    };
 
    class InputListener{
    public:
        virtual bool MousePressed(const MouseEventClick &arg){ return false; }
        virtual bool MouseReleased(const MouseEventClick &arg){ return false; }
        virtual bool MouseWheel(const MouseEventWheel &arg){ return false; }
        virtual bool MouseMove(const MouseEvent &arg){ return false; }
        
        virtual bool KeyPressed(const KeyEvent &arg){ return false; }
        virtual bool KeyRealesed(const KeyEvent &arg){ return false; }
    };
}
кусок файла InputMgr
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    void InputMgr::m_eventKey(const eKeyCodes KeyCode, const wchar_t ch, bool press){
        for (auto it = m_Listened.begin(); it != m_Listened.end(); ++it){
            if (!(*it))
                continue;
            if (press == true){
                if ((*it)->KeyPressed(KeyEvent(ch, KeyCode)) == true)
                    return;
            }
            else{
                if ((*it)->KeyReleased(KeyEvent(ch, KeyCode)) == true)
                    return;
            }
        }
в котором студия ругается на
Ошибка 1 error C2027: использование неопределенного типа "D3D11FrameWork::InputListened"
Ошибка 2 error C2227: выражение слева от "->MouseMove" должно указывать на тип класса, структуры или объединения либо на универсальный тип

Как так ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 21:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос VS 2013 и ООП (C++):

VC C++ 2013 - C++
Не работают стандартные функции (strncopy,strcopy, и т.д.) Пишет ошибку :error C4996: 'strncpy': This function or variable may be unsafe....

Fopen в vs 2013 - C++
Привет! разбирался с фалами, и пришел к тупику. Пожалуйста, подскажите, что не так. я всего-то хотел попробовать создать и открыть файл. ...

MS VS 2013 Ultimate - C++
Скажите пожалуйста, чем принципиально отличается Ультимат-редакция студии от той же Комьюнити? Желательно подробности.

Компиляция на MVS 2013 - C++
Подскажите как компилировать exe файлы что бы они работали где то помимо моего компьютера. На других компьютерах пишет "Запуск невозможен,...

Не работает функция gets() в VS 2013 - C++
Не работает функция gets() в Visual Studio 2013 Получается ось такая ошибка: ">d:\прога\проект1\проект1\исходный код.cpp(15): error...

C++ Visual Studio 2013 - C++
Установил Microsoft Visual Studio Express 2013. Для теста попытался набрать первый урок "Hello". // hello.cpp: определяет точку...

11
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.02.2014, 21:49 #2
Цитата Сообщение от druidich Посмотреть сообщение
Как так ?
Вы бы номера строк что ли указали по ошибкам.
0
druidich
30 / 30 / 4
Регистрация: 21.05.2012
Сообщений: 440
04.02.2014, 21:52  [ТС] #3
Tulosba, сорри. Ругается на строки :
C++
1
if ((*it)->KeyPressed(KeyEvent(ch, KeyCode)) == true)
C++
1
if ((*it)->KeyReleased(KeyEvent(ch, KeyCode)) == true)
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.02.2014, 21:57 #4
Цитата Сообщение от druidich Посмотреть сообщение
Ругается на строки :
Ошибка 1 на строку 6, ошибка 2 на строку 10, так что ли?
0
druidich
30 / 30 / 4
Регистрация: 21.05.2012
Сообщений: 440
04.02.2014, 21:59  [ТС] #5
Tulosba,
C++
1
if ((*it)->KeyPressed(KeyEvent(ch, KeyCode)) == true)
error C2027: использование неопределенного типа "D3D11FrameWork::InputListened"
error C2227: выражение слева от "->MousePressed" должно указывать на тип класса, структуры или объединения либо на универсальный тип

C++
1
if ((*it)->KeyReleased(KeyEvent(ch, KeyCode)) == true)
error C2027: использование неопределенного типа "D3D11FrameWork::InputListened"
error C2227: выражение слева от "->KeyReleased" должно указывать на тип класса, структуры или объединения либо на универсальный тип

вот так вот
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.02.2014, 22:04 #6
druidich, хедер (inputListened.h) включен в сишник, где ошибки проскакивают?
0
druidich
30 / 30 / 4
Регистрация: 21.05.2012
Сообщений: 440
05.02.2014, 08:09  [ТС] #7
Tulosba, хедер подключен.
C++
1
#include "InputListener.h"
гуглил, пишут мол такие ошибки появляются в студии, начиная с 12 версии.
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
05.02.2014, 08:24 #8
Цитата Сообщение от druidich Посмотреть сообщение
гуглил, пишут мол такие ошибки появляются в студии, начиная с 12 версии.
Довольно сомнительно. Залейте проект сюда посмотреть.
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 08:32 #9
m_Listened - это что? Как объявлялась?
0
druidich
30 / 30 / 4
Регистрация: 21.05.2012
Сообщений: 440
05.02.2014, 08:56  [ТС] #10
Tulosba, извините, щас полностью проектом скинуть не могу (все весит 150 метров! как так ?),тк интернет использую 3G и часто рвется. Вы не против если я скину на выходных ?

Добавлено через 21 минуту
alsav22,
"InputMgr.h"
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
#pragma once
#include "InputCode.h"
#include "stdafx.h"
 
namespace D3D11FrameWork{
    class InputListened;
 
    class InputMgr{
        void Init();
        void Close();
 
        void Run(const UINT &msg, WPARAM wParam, LPARAM lParam);
        void AddListened(InputListened *Listened);
        void SetWinRect(const RECT &winrect);
 
    private:
        void m_eventcursor();
        void m_eventMouse(const eMouseKeyCodes KeyCode, bool press);
        void m_mouseWhell(short Value);
        void m_eventKey(const eKeyCodes KeyCode, const wchar_t ch, bool press);
 
        std::list<InputListened*> m_Listened;
        RECT m_windowrect;
        int m_curx;
        int m_cury;
        int m_MouseWheel;
    };
}
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 09:22 #11
class InputListened где объявлен?

Добавлено через 2 минуты
Это, случайно, не class InputListener?
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
05.02.2014, 11:48 #12
druidich, строку 6 закомментируйте.
0
05.02.2014, 11:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 11:48
Привет! Вот еще темы с ответами:

Конвертация из VS 2013 в VS 2010 - C++
Есть проект на VS 2013, пробую запустить его в VS 2010, выдает Ошибка 30 error MSB8008: указанный набор инструментов платформы...

C++ Visual studio 2013 - C++
Нужно задать переменную, представляющую несколько однотипных карточек, в которых хранится информация о студентах. Далее необходимо...

Кракозябры в MSVS 2013 - C++
http://www.fayloobmennik.net/4745741 проект, кракозябры везде, нажал файл - доп параметры сохранения - выбрал кирилицу дос 866 -...

Непонятка с постфиксами в VS 2013 - C++
#include &lt;iostream&gt; using namespace std; int main() { int a = 10; a = a++ + a++; cout &lt;&lt; a &lt;&lt; endl; system(&quot;pause&quot;); ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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