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

Ошибка: Нарушение прав доступа при чтении - C++

Восстановить пароль Регистрация
 
em_larionov
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 46
15.07.2014, 18:41     Ошибка: Нарушение прав доступа при чтении #1
Всем привет, решил в проект добавить функцию элементарную
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void MyClass::mouseMove()
{
    LPPOINT cursorPos;
    for(;;)
    {
        GetCursorPos(cursorPos);
        
        if(cursorPos->x < 1000){
           SetCursorPos(cursorPos->x+10,cursorPos->y+10);
        }
 
        Sleep(1000);
        
    }
}
И полетела ошибка "Нарушение прав доступа при чтении" и ткнет на строку if(cursorPos->x < 1000)
что может быть за фигня ?

Если я эту функцию вынесу за пределы класса то все работает
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2014, 18:41     Ошибка: Нарушение прав доступа при чтении
Посмотрите здесь:

Нарушение прав доступа при чтении C++
C++ Ошибка: нарушение прав доступа при чтении
C++ Нарушение прав доступа при чтении
C++ Нарушение прав доступа при чтении
C++ Нарушение прав доступа при чтении
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,167
Завершенные тесты: 1
15.07.2014, 18:46     Ошибка: Нарушение прав доступа при чтении #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void MyClass::mouseMove()
{
    POINT cursorPos;
    for(;;)
    {
        GetCursorPos(&cursorPos);
        
        if(cursorPos.x < 1000){
           SetCursorPos(cursorPos.x+10,cursorPos.y+10);
        }
 
        Sleep(1000);
        
    }
}
em_larionov
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 46
15.07.2014, 18:50  [ТС]     Ошибка: Нарушение прав доступа при чтении #3
Если не затруднит поясни а почему POINT нужно использовать ?
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,167
Завершенные тесты: 1
15.07.2014, 18:52     Ошибка: Нарушение прав доступа при чтении #4
Цитата Сообщение от zss Посмотреть сообщение
GetCursorPos(&cursorPos);
Передать надо адрес СУЩЕСТВУЮЩЕЙ переменной
(т.е. под нее должна быть выделена память).
А Вы передавали неинициализированный указатель.
Можно оставить как у Вас, но тогда
C++
1
LPPOINT cursorPos=new POINT;
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
15.07.2014, 18:52     Ошибка: Нарушение прав доступа при чтении #5
Цитата Сообщение от em_larionov Посмотреть сообщение
Если не затруднит поясни а почему POINT нужно использовать ?
Потому что LPPOINT, судя по имени, указатель. Указатель у тебя ни на что не указывает. Получаешь ошибку чтения.
А POINT - просто структура в стеке.
Yandex
Объявления
15.07.2014, 18:52     Ошибка: Нарушение прав доступа при чтении
Ответ Создать тему
Опции темы

Текущее время: 23:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru