
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо, я понял свою ошибку. У меня получилось что я указатель пытаюсь присвоить модели, естественно ничего не получилось. Но если написать:
то я получу указатель, и сохраню в корректную переменную. Во всяком случае вроде бы получилось - модель после прочтения корректна.
А можно пожалуйста еще раз ссылку на "время жизни" объекта, а то ссылка вроде не туда куда надо ведет.
у вас ссылка на объект создается внутри ф-ии, создайте ее на глобальном уровне
а потмо надо удалить при деинициализации delete firstNode;
Меня как раз вариант создания новой модели в функции устраивает. Я анализирую историю и если нахожу подходящую модель, то ее создаю. А так как каждый раз при поиске модели я пробегаю по историческим данным, то повторы хочу отсекать анализируя ранее сохраненные модели. Лишнее модели буду удалять, например в случае повторения.
ну область видимости то созданной ссылки только внутри ф-ии у вас, снаружи ее не видно
и там в остальном по коду в цикле for дичь какая-то :)
Спасибо, я понял свою ошибку. У меня получилось что я указатель пытаюсь присвоить модели, естественно ничего не получилось. Но если написать:
то я получу указатель, и сохраню в корректную переменную. Во всяком случае вроде бы получилось - модель после прочтения корректна.
А можно пожалуйста еще раз ссылку на "время жизни" объекта, а то ссылка вроде не туда куда надо ведет.
Именно так.
Теперь у тебя есть модель, и есть объявленный указатель на нее. Ты берешь указатель на имеющуюся модель, присваиваешь вершине списка, потом берешь с вершины указатель, присваиваешь созданному указателю - понятно, что он будет указывать на ту самую модель, которая изначально была у тебя передана в функцию. Все в порядке.
Тебе, действительно, хорошо бы разобраться со временами жизни объектов. Если ты создаешь объект просто объявлением - то он создается "на стеке", и существует только в пределах того блока, где объявлен.
Обычно объекты для списков создаются по new. Тогда - у тебя будут только указатели. Но, только в этом случае - необходимо позаботиться об удалении этих объектов (через delete), когда они будут не нужны.
Метод Add() ждет указателя на объект.
А ты передаешь туда ссылку на объект (интересно, как это удалось сделать ?).
GetPointer(), думаю, должен помочь.
Но, обрати внимание на время жизни твоего объекта - возможен случай, когда объект будет удален, а список будет существовать.
А никак, этот код не компилируется )))
sellList.Add(&model);//не компилируется
Спасибо, я понял свою ошибку. У меня получилось что я указатель пытаюсь присвоить модели, естественно ничего не получилось. Но если написать:
то я получу указатель, и сохраню в корректную переменную. Во всяком случае вроде бы получилось - модель после прочтения корректна.
А можно пожалуйста еще раз ссылку на "время жизни" объекта, а то ссылка вроде не туда куда надо ведет.
Тогда уж вот так
**
А никак, этот код не компилируется )))
На удивление компилировался.
Написал и протестировал:
Спасибо за помощь, все заработало как и хотел.
Метод Add() ждет указателя на объект.
А ты передаешь туда ссылку на объект (интересно, как это удалось сделать ?).
Вопрос - у тебя конструктор копирования есть ? Без конструктора копирования - понятное дело, что объект firstNode - не будет равен объекту model.
Подозреваю также, что ты хочешь иметь только один объект model, а не два - model и firstNode.
у вас ссылка на объект создается внутри ф-ии, создайте ее на глобальном уровне
а потмо надо удалить при деинициализации delete firstNode;