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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
#1

Присвоение this иного указателя - C++

17.10.2013, 22:58. Просмотров 386. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Polynomial::List::add_list_end(int value)
{
    Polynomial::List *new_obj = new Polynomial::List;
    new_obj->data = value;
    new_obj->next = NULL;
 
    if (this){
    Polynomial::List *temp = this;
    while (temp->next != NULL)
        temp = temp->next;
    temp->next = new_obj;
    } else
        this = new_obj;
}
Ошибка в последней строчке(|17|error: lvalue required as left operand of assignment|).Так делать, судя по всему, нельзя. Интересует почему.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 22:58     Присвоение this иного указателя
Посмотрите здесь:

Присвоение переменной поля указателя на объект - C++
Инициализация: Dragons* dragon; for (int i = 0; i <= 99; i++) { dragon = new Dragons(random(50), random(40), 3,8); } ...

Составить программу, в строке, введенному пользователем, подсчитывает число вхождений того или иного символа. Написать функцию count вычисления числа - C++
Составить программу, в строке, введенному пользователем, подсчитывает число вхождений того или иного символа. Написать функцию count...

При вводе того или иного пароля открывать тот или иной txt-файл - C++
Добрый вечер. Нужно написать программу, которая будет при вводе того или иного пароля открывать тот или иной .txt файл. Например: ...

Не выполняет присвоение - C++
вопрос в комментариях. game::game(int size_team_, int begin_counter): size_team(size_team_) { srand(time(NULL)); Tunit...

присвоение typeid - C++
При использовании cout<<typeid(/*...*/).name()<<"\n"; выдается что переменная входит в класс, например, Object Есть ли возможность...

Присвоение типов в С++ - C++
Как присвоить елементам массива mas_a елементы строки String.Массив имеет тип int,а String char?

Присвоение указателей - C++
Здарствуйте. Например я пишу пользовательский контейнер (класс шаблон). Узел будет содержать ключ, данные и т.д. я объявляю ключ...

Присвоение в цикле - C++
Так выглядит условие задачи: Написать программу нахождения средней температуры за неделю и подсчета количества теплых и холодных дней....

Присвоение структур - C++
Помогите пожалуйста такая проблема address *p; p = new address; p->surname = surname; ...

присвоение значения - C++
Здравствуйте! можно ли каким-нибудь образом присвоить значению int значение char? К примеру: у меня есть массив типа int, нужно найти...

Присвоение значений - C++
Всем доброго времени суток, подскажите как присвоить переменной такое значение? 48847E5536130C10

вывод, присвоение - C++
если я хочу присвоить переменной не число, а слово, то какой тип надо писать? string? при выводе из файла мне нужно посчитать количество...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
17.10.2013, 23:07     Присвоение this иного указателя #2
Цитата Сообщение от Hunter13ua Посмотреть сообщение
Так делать, судя по всему, нельзя. Интересует почему.
По той же причине, по которой не стоит пилить сук, на котором сидишь.

Если интересует чисто формальная сторона вопроса, то пункт 5.1.1/1 стандарта говорит о том, что this — это prvalue-величина (такой особый вид rvalue). А rvalue-величины не связаны с объективными сущностями в памяти, поэтому им нельзя присваивать значения.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.10.2013, 23:10     Присвоение this иного указателя #3
Цитата Сообщение от Hunter13ua Посмотреть сообщение
Интересует почему.
два объекта не могут распологаться по одному и тому же адресу, а подмена одного объекта другим противоречит ОО подходу
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
17.10.2013, 23:34  [ТС]     Присвоение this иного указателя #4
Хорошо. Тогда следственный вопрос. То, что я предполагал сделать изначально - невозможно?
(Пояснение на примере. Есть указатель на NULL типа списка. Из него вызвать добавление нового элемента. При этом т.к. список пустой - указатель должен указывать на свежевыделенную область памяти.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
18.10.2013, 00:06     Присвоение this иного указателя #5
Всё возможно. Храните внутри Polynomial::List указатель на некий Polynomial::List::Element, в котором уже будут лежать данные и связи между элементами списка.

А вызов метода по NULL-указателю — это всё же потенциальный выстрел себе в ногу.
Yandex
Объявления
18.10.2013, 00:06     Присвоение this иного указателя
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru