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

ошибка [BCC32 Error] windowp.cpp(201): E2235 Member function must be called or its address taken - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не выполняется условие равенства переменной методу класса http://www.cyberforum.ru/cpp-beginners/thread921510.html
не выполняется условие (строка 136) (проблема не с WinApi) #include<ctime> #include<Windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInst,HINSTANCE prev, LPSTR cmdline,int ncmdshow) { HWND hwnd; MSG msg; WNDCLASSEX wc;
C++ Как программно перейти на какой-то сайт? Вот задали написать программу которая будет как-бы взламывать ВК.Почему как-бы?Да потому что она не будет ничего взламывать, но будет утверждать что взломала))Короче не буду ваз заморачивать, вот алгоритм (моё мнение): 1. Программа пишет: Введи ID страницы ВК которую нужно взломать кароч! 2. Человек вводит ID, у него открывается браузер и открывается та страница, ID которой он ввёл. 3.... http://www.cyberforum.ru/cpp-beginners/thread921493.html
C++ Имеет ли смысл использовать класс так?
Здравствуйте. Недавно увидел код, вот упрощенный вариант: class someClass { public: static bool someFn( int, int ); static void foo( int* ); //åùå ïàðó ñòàòèê ôóíêöèé... };
Тип, зависимый от условия в шаблонах C++
Возможно ли реализовать подобное: template <uint8_t bits> class test { // если bits <= 8 typedef uint8_t storageType; // если bits <= 16 typedef uint16_t storageType; // ... storageType guts; };
C++ посоветовали бы вы книгу автора http://www.cyberforum.ru/cpp-beginners/thread921439.html
здравстуйте! никогда не сталкивался с C++, до этого программировал на Delphi и ассемблере, так что базу программирования и архитектуру пк понимаю. Заказал себе книжку Герберта Шилдта - C++. Шаг за шагом (для начинающих). Скажите, подойдет ли эта книга для человека, ни разу не программировавшего на C++ (для новичка)?
C++ Даны строки S, S1,S2.Заменить в строке S последнее вхождение строки S1 на строку S2(обработка строк). Помогите, пожалуйста, решить программы на си++, если не решу мне хана, заранее спасибо: Даны строки S, S1,S2.Заменить в строке S последнее вхождение строки S1 на строку S2(обработка строк). подробнее

Показать сообщение отдельно
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
11.07.2013, 18:40  [ТС]     ошибка [BCC32 Error] windowp.cpp(201): E2235 Member function must be called or its address taken
у меня при вервом обращение к компоненту класа вылетает ошибка
Кликните здесь для просмотра всего текста
C++
1
2
3
4
CwindowP::CwindowP(HINSTANCE hInstance)
{
    WINDOWP( hInstance);
}

Кликните здесь для просмотра всего текста
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
LRESULT CALLBACK CwindowP::WndProc(
                HWND    hWnd,
                UINT    message,
                WPARAM  wParam,
                LPARAM  lParam)
{
    RECT    Screen;     // используется позднее для размеров окна
    GLuint  PixelFormat;
    static  PIXELFORMATDESCRIPTOR pfd=
    {
        sizeof(PIXELFORMATDESCRIPTOR)// Размер этой структуры
        1,              // Номер версии (?)
        PFD_DRAW_TO_WINDOW |// Формат для Окна
        PFD_SUPPORT_OPENGL |// Формат для OpenGL
        PFD_DOUBLEBUFFER,// Формат для двойного буфера
        PFD_TYPE_RGBA,  // Требуется RGBA формат
        16,             // Выбор 16 бит глубины цвета
        0, 0, 0, 0, 0, 0,// Игнорирование цветовых битов (?)
        0,              // нет буфера прозрачности
        0,              // Сдвиговый бит игнорируется (?)
        0,              // Нет буфера аккумуляции
        0, 0, 0, 0,     // Биты аккумуляции игнорируются (?)
        16,             // 16 битный Z-буфер (буфер глубины)
        0,              // Нет буфера траффарета
        0,              // Нет вспомогательных буферов (?)
        PFD_MAIN_PLANE, // Главный слой рисования
        0,              // Резерв (?)
        0, 0, 0         // Маски слоя игнорируются (?)
    };
    switch (message)    // Тип сообщения
    {
        case WM_CREATE:
        this->hDC = GetDC(hWnd);    // Получить контекст устройства для окна
        PixelFormat = ChoosePixelFormat(hDC, &pfd);
            // Найти ближайшее совпадение для нашего формата пикселов
        if (!PixelFormat)
        {
            MessageBoxA(0,"Can't Find A Suitable PixelFormat.","Error",MB_OK|MB_ICONERROR);
            PostQuitMessage(0);
            // Это сообщение говорит, что программа должна завершится
            break;  // Предтовращение повтора кода
        }
        if(!SetPixelFormat(hDC,PixelFormat,&pfd))
        {
            MessageBoxA(0,"Can't Set The PixelFormat.","Error",MB_OK|MB_ICONERROR);
            PostQuitMessage(0);
            break;
        }
        hRC = wglCreateContext(hDC);
        if(!hRC)
        {
            MessageBoxA(0,"Can't Create A GL Rendering Context.","Error",MB_OK|MB_ICONERROR);
            PostQuitMessage(0);
            break;
        }
        if(!wglMakeCurrent(hDC, hRC))
        {
            MessageBoxA(0,"Can't activate GLRC.","Error",MB_OK|MB_ICONERROR);
            PostQuitMessage(0);
            break;
        }
        GetClientRect(hWnd, &Screen);
        InitGL(Screen.right, Screen.bottom);
        BuildFont();
        break;
 
        case WM_DESTROY:
        case WM_CLOSE:
        ChangeDisplaySettings(NULL, 0);
 
        wglMakeCurrent(hDC,NULL);
        wglDeleteContext(hRC);
        ReleaseDC(hWnd,hDC);
        KillFont();
        PostQuitMessage(0);
        break;
 
        case WM_KEYDOWN:
        keys[wParam] = TRUE;
        break;
 
        case WM_KEYUP:
        keys[wParam] = FALSE;
        break;
 
        case WM_SIZE:
        ReSizeGLScene(LOWORD(lParam),HIWORD(lParam));
        break;
 
        case WM_MBUTTONDOWN:
        mouse_click_middle = true;
        GetCursorPos(&mouse_position_last);
        break;
 
        case WM_MBUTTONUP:
        mouse_click_middle = false;
        break;
 
        case WM_MOUSEMOVE:
        if (mouse_click_middle)
        {
            GetCursorPos(&mouse_position);
            CameraViev::y -=  (mouse_position.x - mouse_position_last.x) * CameraViev::speed_rotate_angle;
            CameraViev::x +=  (mouse_position.y - mouse_position_last.y) * CameraViev::speed_rotate_angle;
            memcpy(&mouse_position_last,&mouse_position,sizeof(POINT));
        }
        break;
 
        case WM_MOUSEWHEEL:
        float wheelDelta;
        wheelDelta= GET_WHEEL_DELTA_WPARAM(wParam);
        if (mouse_click_middle)
            CameraViev::z +=  wheelDelta * CameraViev::speed_rotate_angle;
        else
            CameraViev::zoom += wheelDelta * CameraViev::speed_zoom;
        break;
 
        default:
    return (DefWindowProc(hWnd, message, wParam, lParam));
    }
    return (0);
}

Кликните здесь для просмотра всего текста
C++
1
2
3
4
inline static LRESULT CALLBACK CwindowP::mainwindowproc_pseudo(HWND hWnd,UINT message,WPARAM wParam, LPARAM lParam)
{
    return wndlist.find(hWnd)->second->WndProc(hWnd, message, wParam, lParam);
}

Кликните здесь для просмотра всего текста
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
LPTHREAD_START_ROUTINE CwindowP::WINDOWP (  LPVOID lpThreadParameter)
{
    InitGL();
 
    HINSTANCE hInstance = (HINSTANCE)lpThreadParameter;
    MSG     msg;    // Структура сообщения Windows
    WNDCLASS    wc; // Структура класса Windows для установки типа окна
    HWND        hWnd;// Сохранение дискриптора окна
    wndlist[hWnd] = this;
 
    wc.style            = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
    wc.lpfnWndProc      = mainwindowproc_pseudo;
    wc.cbClsExtra       = 0;
    wc.cbWndExtra       = 0;
    wc.hInstance        = hInstance;
    wc.hIcon            = NULL;
    wc.hCursor          = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground    = NULL;
    wc.lpszMenuName     = NULL;
    wc.lpszClassName    = "OpenGL WinClass";
 
    if(!RegisterClass(&wc))
    {
    MessageBoxA(0,"Failed To Register The Window Class.","Error",MB_OK|MB_ICONERROR);
    return FALSE;
    }
 
    hWnd = CreateWindowA(
    "OpenGL WinClass",
    "Jeff Molofee's GL Code Tutorial ... NeHe '99", // Заголовок вверху окна
 
    WS_POPUP |
    WS_CLIPCHILDREN |
    WS_CLIPSIBLINGS,
 
    0, 0,           // Позиция окна на экране
    1280, 1024,     // Ширина и высота окна
 
    NULL,
    NULL,
    hInstance,
    NULL);
 
    if(!hWnd)
    {
    MessageBoxA(0,"Window Creation Error.","Error",MB_OK|MB_ICONERROR);
        return FALSE;
    }
 
    DEVMODE dmScreenSettings;           // Режим работы
 
    memset(&dmScreenSettings, 0, sizeof(DEVMODE));  // Очистка для хранения установок
    dmScreenSettings.dmSize = sizeof(DEVMODE);      // Размер структуры Devmode
    dmScreenSettings.dmPelsWidth    = 1280;         // Ширина экрана
    dmScreenSettings.dmPelsHeight   = 1024;         // Высота экрана
    dmScreenSettings.dmFields   = DM_PELSWIDTH | DM_PELSHEIGHT; // Режим Пиксела
    ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN);
    // Переключение в полный экран
 
    ShowWindow(hWnd, SW_SHOW);
    UpdateWindow(hWnd);
    SetFocus(hWnd);
    //SetTimer(hWnd,0, frame_rate,(TIMERPROC)&FDraw);
 
 
    while (1)
    {
        // Обработка всех сообщений
        while (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
        {
            if (GetMessage(&msg, NULL, 0, 0))
            {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
            }
            else
            {
                return (LPTHREAD_START_ROUTINE)TRUE;
            }
        }
 
        //DrawGLScene();                // Нарисовать сцену
        //SwapBuffers(hDC);         // Переключить буфер экрана
        if (keys[VK_ESCAPE]) SendMessage(hWnd,WM_CLOSE,0,0);    // Если ESC - выйти
    }
}
 
Текущее время: 14:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru