Либо глаз замылился, либо с пониманием чего то не то.
Есть 2 указателя на SYSTEMTIME:
...
SYSTEMTIME * minDate = new SYSTEMTIME();
SYSTEMTIME * maxDate = new SYSTEMTIME();
this->someFunc(minDate, maxDate);
...
Описание функции someFunc:
void someFunc(SYSTEMTIME * _minDate, SYSTEMTIME * _maxDate);
Реализация someFunc:
void SomeClass::someFunc(SYSTEMTIME * _minDate, SYSTEMTIME * _maxDate){
SYSTEMTIME minDate, maxDate;
std::vector<SYSTEMTIME> dates;
...
minDate = dates[0]; // тут все хорошо. Новые значения присвоены
maxDate = dates[1];
...
_minDate = new SYSTEMTIME(minDate); // _minDate присвоен указатель на новый объект.
_maxDate = new SYSTEMTIME(maxDate); // проветил, _minDate и _maxDate дейсвтиетльно какие нужно.
}
После выполнения someFunc, если дебаггером посмотреть на следующую строку, то я вижу инициализированные значения, т.е.
...
SYSTEMTIME * minDate = new SYSTEMTIME();
SYSTEMTIME * maxDate = new SYSTEMTIME();
this->someFunc(minDate, maxDate);
... //по адресу minDate, maxDate - нули. Как будто они не изменились.
Впервые сталкиваюсь с такой аномалией, и уже идей никаких нету, кроме костылей...
Спасибо всем!