Вызов вспомогательных модулей не работает и продолжает говорить «Аргумент не указан для параметров»

#arrays #vb.net #parameters

#массивы #vb.net #параметры

Вопрос:

Я пытался использовать значение из Sub PromptUser in Sub Main , но не могу. В нем говорится:

Аргумент, не указанный для параметра SaS
EmailAddress, studentName, SaS, не объявлен и может быть недоступен из-за уровня защиты

StudentName , EmailAddress и SaS являются массивами:

 Module Module1
Private StudentName(2) As String
Private EmailAddress(2) As String
Private SaS(2) As String
    Public Sub PromptUser(ByVal StudentName() As String, ByVal EmailAddress() As String, ByVal SaS() As String)

        For i = 0 to 2
            Console.WriteLine("enter your name: ")
            StudentName(i) = Console.ReadLine()
            Console.WriteLine("enter your e-mail")
            EmailAddress(i) = Console.ReadLine
            SaS(i) = StudentName(i) amp; "#" amp; EmailAddress(i)
        Next
    End Sub
    Sub Main()
        Dim SSN1 As String
        PromptUser(StudentName(), EmailAddress(), SaS())
        For i = 0 to 2
            Console.WriteLine("enter name to search: ")
            SSN1 = Console.ReadLine()
            If SSN1 = StudentName(i) Then
                Console.WriteLine(SaS(i))
            End If
        Next
    End Sub
End Module
  

Комментарии:

1. Вы не передаете SaS() параметр в PromptUser sub. Вы вызываете его: PromptUser(StudentName(), EmailAddress()) всего с 2 аргументами; sub ожидает 3. Вам также нужно где-то инициализировать массивы. Вы не показываете, где.

2. @Jimi итак, вы говорите, что я должен отредактировать его и сделать его PromptUser(studentName(), EmailAddress(), SaS())??? если это так, то это не сработало, и мне просто нужно имя и адрес электронной почты для 2-й части, а не SaS, пожалуйста, поправьте меня, что пошло не так

3. Покажите, где инициализируются эти массивы.

4. я не нашел никакого синтаксиса для вызова массивов в subs можете ли вы помочь мне, пояснив, что вы имеете в виду, показывая, где инициализируются массивы? @Jimi

5. Где вы объявили эти массивы? Что-то вроде: и т.д. Private StudentName(2) As String . Вы передаете их в качестве аргументов, но нигде не показываете, когда / где они были объявлены / инициализированы. Знаете ли вы, что означают эти последние два термина?