Hello, SergeCpp!
You wrote on Wed, 03 Aug 2005 08:48:12 GMT:
S> Здравствуйте, Сергей Зизев, Вы писали:
S> [skipped...]
СЗ>> как объявление функции ? Возможно по тому, что не может привести его к
СЗ>> типу bool ? Так оно и не приводимо к bool.
СЗ>> [skipped...]
СЗ>> With best regards, Sergey Zizyov. E-mail: ziserg@despammed.com
S> Оператор "bool" был упомянут мною именно
S> для предотвращения "...Так оно и не приводимо к bool..."
S> Приводимо.
S> class SomeType
S> {
S> //... где-то тут ЕСТЬ конструктор с параметром типа "int"
S> operator bool(){ return true; } // <<< например
S> };
S> SomeType ok ( 123 );
S> bool val( ok ); // здесь вызывается SomeType::bool()...
Да это все понятно, но речь идет о контексте оператора if (о его condition),
и получается что в данном контексте компилятор не может даже проверить
наличие твоего оператора bool у выражения SomeType ok ( 123 ), ввиду чего
пытается (это я так думаю) распарсить его как объявление функции, что
соответственно приводит к ошибке. Что бы все было ок, поставь равно, как я
писал в первом посте, тогда и твой оператор вызовется.
With best regards, Sergey Zizyov. E-mail: ziserg@despammed.com
Posted via RSDN NNTP Server 1.9