От: | Cadoon | ||
Дата: | 21.04.03 10:53 | ||
Оценка: | -1 |
L>template<class _Ty> class B
L>{
L> private :
L> _Ty res;
L> public :
L> B() : res() {}
L> B(const _Ty &_v) : res(_v) {}
L> operator _Ty() { return _Ty(res); }
L> operator _Ty() const { return _Ty(res); }
L>};
L>
L>в момент сравнения в функции foo() и в функции main()L>[C++ Error] Unit1.cpp(15): E2015 Ambiguity between 'B<long>::operator long()' and 'B<long>::operator long() const'
L>[C++ Error] Unit1.cpp(24): E2015 Ambiguity between 'B<long>::operator long()' and 'B<long>::operator long() const'
L> template<class _Ty>
L> class B
L> {
L>//.....
L> operator _Ty() const { return _Ty(res); }
L> operator const _Ty() const { return _Ty(res); }
L>//.....
L> };
L>
B<long> b;
long l = d; //используется первый оператор
const long cl = b; //используется второй оператор