Программа C++ завершает работу в векторном push_back (Исключение в режиме отладки: выброшено исключение: нарушение прав ⇐ C++
Программа C++ завершает работу в векторном push_back (Исключение в режиме отладки: выброшено исключение: нарушение прав
первый день использования C++
я пытаюсь сохранить объекты класса Window в векторе, но программа завершает работу при попытке вернуть некоторые объекты Window
основная функция
int main() { векторные окна ; заголовки вектора; EnumWindows(обратный вызов, reinterpret_cast(&windows)); std::cout у = у; это->w = w - (это->x * 2); это->h = h - (это->y * 2); } }; Программа аварийно завершает работу в функции ниже
особенно здесь windows.push_back(окно);
BOOL CALLBACK обратный вызов(HWND hwnd, LPARAM lParam) { константный DWORD TITLE_SIZE = 4096; WCHAR windowTitle[TITLE_SIZE]; GetWindowTextW(hwnd, windowTitle, TITLE_SIZE); длина int = GetWindowTextLength (hwnd); std::wstring title(&windowTitle[0]); if (!IsWindowVisible(hwnd) || length == 0 || title == L"Диспетчер программ") { вернуть ИСТИНА; } ПРЯМОЙ Прямой; GetWindowRect(hwnd, &rect) int x = прямоугольник.влево; интервал y = rect.top; int w = rect.right + x; int h = rect.bottom + y; Окно window = Window(title, hwnd, x, y, w, h); вектор &windows = *reinterpret_cast(lParam); windows.push_back(окно); std::cout
первый день использования C++
я пытаюсь сохранить объекты класса Window в векторе, но программа завершает работу при попытке вернуть некоторые объекты Window
основная функция
int main() { векторные окна ; заголовки вектора; EnumWindows(обратный вызов, reinterpret_cast(&windows)); std::cout у = у; это->w = w - (это->x * 2); это->h = h - (это->y * 2); } }; Программа аварийно завершает работу в функции ниже
особенно здесь windows.push_back(окно);
BOOL CALLBACK обратный вызов(HWND hwnd, LPARAM lParam) { константный DWORD TITLE_SIZE = 4096; WCHAR windowTitle[TITLE_SIZE]; GetWindowTextW(hwnd, windowTitle, TITLE_SIZE); длина int = GetWindowTextLength (hwnd); std::wstring title(&windowTitle[0]); if (!IsWindowVisible(hwnd) || length == 0 || title == L"Диспетчер программ") { вернуть ИСТИНА; } ПРЯМОЙ Прямой; GetWindowRect(hwnd, &rect) int x = прямоугольник.влево; интервал y = rect.top; int w = rect.right + x; int h = rect.bottom + y; Окно window = Window(title, hwnd, x, y, w, h); вектор &windows = *reinterpret_cast(lParam); windows.push_back(окно); std::cout
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение