Как удалить адрес указателя в C++
я не понимаю, как удалить указатель адреса.
но в моем скрипте eror при удалении (coba);
пример :
Ввод :
2 3
2 5
2 6
1 2
3
1 2
Выход :
Значение =5;
(5 Удаление)
Значение =6;
Су (*Коба).Нилай = 3 , 6..
5 - это удаление..
но я не понимаю, как это сделать..
helpp
Что я уже пробовал:
#include <iostream> #include <vector> using namespace std; struct test { int next; int previous; int value = 0; }; int main() { test *coba, testt; coba = &testt; int z; int l = 0; int perintah; int y = 0; while(true) { cout << "Input : "; cin >> l; if(l == 2) { cin >> (*coba).value; *(++coba); y++; } if(l == 1) { cin >> z; for(int i = 0; i < y-z+1; i++) { (--coba); } cout << "Value = " << (*coba).value << endl; cout << "1.next / 2.previous / 3.erase : "; cin >> perintah; if(perintah == 1) { (++coba); testt.next = (*coba).value; cout << "Next = " << testt.next << endl; for(int i = 0; i < y-z; i++) { (++coba); } } else if(perintah == 2) { (--coba); testt.previous = (*coba).value; cout << testt.previous; for(int i = 0; i < y-z+2; i++) { (++coba); } } else if(perintah == 3) { delete (&coba); } } } return 0; }
KarstenK
Обычно на C++ пишется такой стиль: coba->value.
Используйте delete только для указателей, значения которых относятся к памяти (или объектам/структурам), которые выделяются с помощью new. (Это фундаментальное правило!!!)
CPallini
Что ты пытаешься сделать? Вы подразумеваете связанный список? Почему бы вам не рассмотреть возможность использования std::list вместо этого?