Здравствуйте, Аноним, Вы писали:
А>Так ты бы показал код, в котором происходит присваивание и еще типы операндов, а то что-то трудно понять, о чем ты. Да, есть два оператора присваивания. Но код то в котором присваивается, где?
Вот код: Worksheet->Get_Range("A1","B2")->set_Value( int(12345) ); , который кладет в ячейку экселевской таблицы какое-нибудь значение. При его выполнении запускается код
TVariantT& operator =(const TBaseVariantT<T>& rhs)
{
if (&rhs != this)
{
::VariantClear(this);
::VariantCopy(this, &(const_cast<TVariantT&>(rhs)));
}
return *this;
}
, который лежит в билдеровских исходниках.
Оператор присваивания переопределен для всех встроенных типов и еще для некоторых. Однако, для целочисленного параметра метода set_Value( int(12345) ) почему-то код, который я указал чуть выше, а не тот, который предназначен для работы с целочисленным параметром. Вот и проблема. Такое вообще почему бывает?
Исправлена подсветка синтаксиса. -- ПК.