Решил попрактиковаться с указателями, для этого реализовал кусочек динамической памяти:
Code
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "");
int Variable = 5; //создаем переменную, и присваеваем ей 5
int *pVariable = &Variable; //создаем указатель, и записываем в него адрес переменной
int *pDynamicMemory = new int; //выделяем в динамическую память пространство для переменной типа int
if (pDynamicMemory = NULL) //если динамическая память не создается - вывести сообщение, остановить программу
{
cout << "Ошибка! Не хватает памяти для pDynamicMemory!!";
system("pause");
}
*pDynamicMemory = 7; //установить значение 7 в переменную находящиюся по адрессу из динамической памяти(т.е. в переменную int Variable)
cout << "Variable: " << Variable << "\n";
cout << "*pVariable: " << *pVariable << "\n";
cout << "*pDynamicMemory: " << *pDynamicMemory << "\n";
delete pDynamicMemory; //очистить динамическую память
pDynamicMemory = new int; //выделяем в динамическую память пространство для переменной типа int
if (pDynamicMemory == NULL) //если динамическая память не создается - вывести сообщение, остановить программу
{
cout << "Ошибка! Не хватает памяти для pDynamicMemory!!";
system("pause");
}
*pDynamicMemory = 9; //установить значение 9 в переменную находящиюся по адрессу из динамической памяти(т.е. в переменную int Variable)
cout << "pDynamicMemory: " << *pDynamicMemory << "\n";
delete pDynamicMemory; //очистить динамическую память
system("pause");
}
но по выполнению, происходит ошибка указывающая на оператор "pDynamicMemory = 7..", сообщая о том что недостаточно прав.
Как решить эту траблу?