Re[2]: глюк msvc 2005
От: Аноним  
Дата: 15.07.08 06:48
Оценка:
Здравствуйте, ulong, Вы писали:
U>компилер "считает", что двойка может относиться к оператору <<.

Это-то понятно, как и способы борьбы. Просто подумал, вдруг это каким-то магическим образом дойдет до них, им стыдно станет и это исправят. К тому же лишние скобки — действительно лишние. :)

А вот тут молчит "почему-то":
template <typename T>
T n_hbits(const T& value, const size_t num_bits)
{
    const size_t value_bits = BITSIZE(value);
    if (0 == num_bits) { return 0; }
    if (num_bits >= value_bits) { return value; }
    return static_cast<T>( value & static_cast<T>( ~static_cast<T>(0) << static_cast<T>(value_bits - num_bits) ) );
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.