Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 25

Ошибка в коде "msg - необъявленный идентификатор"

05.10.2012, 07:05. Показов 1997. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, только начинаю изучать Win32 API, и в учебнике был написан вот этот код

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
#include <Windows.h>
#include <tchar.h>
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
TCHAR WinName[] = _T("MainFrame");
int APIENTRY _tWinMain(HINSTANCE This,
                       HINSTANCE Prew,
                       LPTSTR cmd,
                       int mode)
        {
            HWND hWnd;
            MSG MSG;
            WNDCLASS wc;
// Определение класса окна
            wc.hInstance        = This;                                 // 
            wc.lpszClassName    = WinName;                              // Имя класса окна
            wc.lpfnWndProc      = WndProc;                              // Функция окна
            wc.style            = CS_HREDRAW | CS_VREDRAW;              // Стиль окна
            wc.hIcon            = LoadIcon(NULL, IDI_APPLICATION);      // Стандартная иконка
            wc.hCursor          = LoadCursor(NULL, IDC_ARROW);          // Стандартный курсор
            wc.lpszMenuName     = NULL;                                 // Меню ( NULL = нету )
            wc.cbClsExtra       = 0;                                    // Нет дополнительных данных класса
            wc.cbWndExtra       = 0;                                    // Нет дополнительных данных окна
// Заполнение окна белым цветом
            wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
// Регистрация класса окна
            if(!RegisterClass(&wc)) return 0;
// Создание окна
            hWnd = CreateWindow(WinName,                                // Имя класса окна
                                _T("Каркас Windows-приложения"),        // Заголовок окна
                                WS_OVERLAPPEDWINDOW,                    // Стиль окна
                                CW_USEDEFAULT,                          // Х - Размер окна
                                CW_USEDEFAULT,                          // У - Размеры окна 
                                CW_USEDEFAULT,                          // Ширина
                                CW_USEDEFAULT,                          // Высота
                                HWND_DESKTOP,                           // Дескриптор родительского окна
                                NULL,                                   // Нет меню
                                This,                                   // Дескриптор приложения
                                NULL);                                  // Дополнительной информации нет
// Показать окно
            ShowWindow(hWnd, mode);
 
// Цикл обработки сообщений
            while(GetMessage(&msg, NULL, 0, 0))
                    {
                        TranslateMessage(&msg);                         // Функция нажатия кодов нажатой клавиши
                        DispatchMessage(&msg);                          // Посылает сообщение функции WndProc()
                    }
        return 0;
        }
 
 
// Окнонная функция вызывается операционной системой
//и получает сообщение из очереди для данного приложения
LRESULT CALLBACK WndProc(HWND hWnd, UINT message,
                         WPARAM wParam,
                         LPARAM lParam)
            { // Обработчик сообщений
                    switch(message)
                        {
                        // Завершение программы
                                case WM_DESTROY : PostQuitMessage(0);
                                    break;
                        // Обработка сообщений по умолчанию
                                default : return DefWindowProc(hWnd,
                                                               message,
                                                               wParam,
                                                               lParam);
                        }
            return 0;
            }
но у меня выскакивает ошибка здесь

C++
1
while(GetMessage(&msg, NULL, 0, 0))
подчёркивает вот это -> &msg , пишет что msg необьявлённый индификатор , хотя я ещё в этом неразбираюсь и этот код был в учебнике , работаю на Visual Studio 2012. Помогите пожалуйста, заранее благодарен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.10.2012, 07:05
Ответы с готовыми решениями:

Ошибка: i: необъявленный идентификатор
нужно если d&gt;9 присвоить ss соотв по порядку букву англ алф #include &lt;iostream&gt; using namespace std; void main (){ int d=36; ...

Ошибка необъявленный идентификатор
Изучаю C++ по книге. Дошел до следующего примера: 1 // Создание и использование внутренних указателей 2 3 #include...

Ошибка необъявленный идентификатор
Ошибка: j: необъявленный идентификатор Как ее поправить, помогите пожалуйста #include &lt;iostream&gt; using namespace std; int...

2
98 / 34 / 10
Регистрация: 24.04.2012
Сообщений: 151
05.10.2012, 10:09
Стока 12 - MSG MSG;
MSG - это предопределённый тип переменной в которой содержатся сообщения, Ваше второе MSG имя этой переменной, а дальше Вы используете msg. Одним словом напишите MSG msg;
В С++ это бы виглядело как int H а потом по коду вы бы использовали - h. Думаю не открою тайны если скажу что С++ чувствителен к регистрам и по этому MSG и msg имена разных переменных. Я тоже когда с книжки первый код набрал у меня вообще больше 100 ошибок было, по тому что не понимал что писал, но потом разобрался по чуть чуть, точнее разбираюсь.
1
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 25
05.10.2012, 10:42  [ТС]
Цитата Сообщение от Alexxx7 Посмотреть сообщение
MSG - это предопределённый тип переменной в которой содержатся сообщения, Ваше второе MSG имя этой переменной, а дальше Вы используете msg. Одним словом напишите MSG msg;
Всё получилось, спасибо за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.10.2012, 10:42
Помогаю со студенческими работами здесь

Ошибка необъявленный идентификатор
Приветствую, Подскажите пожалуйста, как обойти вот такую проблемку: #include &lt;iostream&gt; #include...

ошибка AnsiString: необъявленный идентификатор
какую библиотеку подключать?

Ошибка: cout - необъявленный идентификатор
Вот код: #include &quot;pch.h&quot; #include &lt;iostream&gt; void instructions() { cout &lt;&lt; &quot;Welcome to the most fun you've ever had with...

Ошибка: M_PI: необъявленный идентификатор
#include &lt;iostream&gt; #include &lt;locale&gt; #include &lt;math.h&gt; #define _USE_MATH_DEFINES using namespace std; int main() { ...

Ошибка в объявлении функции (необъявленный идентификатор)
#pragma once #include &lt;cstring&gt; typedef unsigned int ui; int GetNumberInt(); double GetNumberFloat(); bool GetBool(); void...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru