Здравствуйте, WolfHound, Вы писали:
в эту сторону сейчас и копаю... осталось еще несколько белых пятен.
1. nullable<int> — всетаки нужна ф-ция value() ?
2.
WH>template <typename T>
WH>struct nullable
WH>{
// а здесь не нужно?
friend bool operator==(nullable
<T> const& lhs, nullable
<T> const& rhs)
WH> friend bool operator==(nullable const& lhs, nullable const& rhs)
WH> {
WH> if (lhs.is_null() || rhs.is_null()) //функции надо вызывать
WH> throw null_value_compare("null_value_compare");
WH> return lhs.value_==rhs.value_; // 3*
WH> }
WH>};
3. не собирается

.пишет что
error C3767: '==' matching function is not accessible