none
Ошибка CS0034 RRS feed

  • Вопрос

  • namespace CS0034
    {
        class TestClass2
        {
            public void Test()
            {
                TestClass o1 = new TestClass();
                TestClass o2 = new TestClass();
                TestClass o3 = o1 & o2; //CS0034
            }
        }
    
        class TestClass
        {
            public static implicit operator int(TestClass o)
            {
                return 1;
            }
    
            public static implicit operator TestClass(int v)
            {
                return new TestClass();
            }
    
            public static implicit operator bool(TestClass o)
            {
                return true;
            }
        }
    
        
    }
    

    Почему в этом коде возникает ошибка? Не могли бы вы пошагово прокомментировать выполнение этого кода? Спасибо.
    22 октября 2015 г. 6:52

Ответы

  • В данном случае существует два применимых оператора bool & bool и int & int. Компилятор не может определить, какой из них выбрать.
    • Помечено в качестве ответа Энтомолог 22 октября 2015 г. 17:23
    22 октября 2015 г. 8:25