Использование операторов VB.NET 2005

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

ozyabkin
Новичок
Новичок
 
Сообщения: 42
Зарегистрирован: 16.11.2005 (Ср) 0:02

Использование операторов VB.NET 2005

Сообщение ozyabkin » 19.02.2009 (Чт) 9:48

Подскажите, пожалуйста.
У меня возникает следующая ошибка "At least one parameter of this binary operator must be of the containing type 'Complex'"
Код: Выделить всё
<DebuggerDisplay("( {Re}, {Im}i )")> _
<DebuggerTypeProxy(GetType(Complex))> _
<Description("Структурные составляющие комплексного числа")> _
Public Structure Complex
    Implements IComparable

    <Description("Вещественная часть комплексного числа")> Dim Re As Double
    <Description("Мнимая часть комплексного числа")> Dim Im As Double

    Public Overloads Shared Operator +(ByVal X As Complex, ByVal Y As Complex) As Complex
        Dim Z As Complex
        Z.Re = X.Re + Y.Re
        Z.Im = X.Im + Y.Im
        Return Z
    End Operator

    ' В следующем коде [B]ошибка[/B]
    Public Overloads Shared Operator +(ByVal X(,) As Complex, ByVal Y(,) As Complex) As Complex(,)
        Try
            Dim I, J, M, N As Integer
            M = X.GetUpperBound(0)
            N = X.GetUpperBound(1)
            Dim Z(M, N) As Complex
            For J = 1 To N
                For I = 1 To M
                    Z(I, J) = X(I, J) + Y(I, J)
                Next I
            Next J
            Return Z
        Catch E As Exception
            Throw New ArgumentException(E.Message)
        End Try
    End Operator
End Structure


Как следует изменить этот код :?:

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Использование операторов VB.NET 2005

Сообщение Viper » 19.02.2009 (Чт) 10:13

Нельзя написать оператор для массивов. Так что второй оператор просто некорректен.
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 88

    TopList