0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 46
1

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

15.07.2014, 18:41. Показов 492. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, решил в проект добавить функцию элементарную
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)
что может быть за фигня ?

Если я эту функцию вынесу за пределы класса то все работает
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2014, 18:41
Ответы с готовыми решениями:

Ошибка: нарушение прав доступа при чтении
Помогите решить ошибку, если отдельно вызывать функции double det(macierz *A,macierz*B,int u) ...

Ошибка: нарушение прав доступа при чтении по адресу
Код: #include &lt;SFML/Graphics.hpp&gt; int M = 3; int N = 3; int Scale = 100; int w = Scale*M;...

Ошибка времени исполнения: нарушение прав доступа при чтении
Как исправить. В функции decode вторая строка. Необработанное исключение по адресу 0x00FD6A4F в...

Ошибка при загрузке фото - нарушение прав доступа при чтении по адресу 0x00814000
При попытке компиляции кода выскакивает ошибка: Первый этап обработки исключения по адресу...

4
Модератор
Эксперт С++
13334 / 10635 / 6354
Регистрация: 18.12.2011
Сообщений: 28,408
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);
        
    }
}
1
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 46
15.07.2014, 18:50  [ТС] 3
Если не затруднит поясни а почему POINT нужно использовать ?
0
Модератор
Эксперт С++
13334 / 10635 / 6354
Регистрация: 18.12.2011
Сообщений: 28,408
15.07.2014, 18:52 4
Цитата Сообщение от zss Посмотреть сообщение
GetCursorPos(&cursorPos);
Передать надо адрес СУЩЕСТВУЮЩЕЙ переменной
(т.е. под нее должна быть выделена память).
А Вы передавали неинициализированный указатель.
Можно оставить как у Вас, но тогда
C++
1
LPPOINT cursorPos=new POINT;
0
Почетный модератор
7392 / 2638 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
15.07.2014, 18:52 5
Цитата Сообщение от em_larionov Посмотреть сообщение
Если не затруднит поясни а почему POINT нужно использовать ?
Потому что LPPOINT, судя по имени, указатель. Указатель у тебя ни на что не указывает. Получаешь ошибку чтения.
А POINT - просто структура в стеке.
0
15.07.2014, 18:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2014, 18:52
Помогаю со студенческими работами здесь

Ошибка "нарушение прав доступа при чтении по адресу."
Использовать стек для решения следующей задачи. В текстовом файле записана без ошибок формула...

Ошибка 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc"
Здравствуйте! Сегодня впервые столкнулся с данной ошибкой, поэтому не имею ни малейшего...

Нарушение прав доступа при чтении
Собственно код программы: #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include &quot;math.h&quot; #include...

Нарушение прав доступа при чтении
Добрый день при выполнении программы выходит ошибка: Необработанное исключение в &quot;0x00ce4893&quot; в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru