这里我试图将一个包含交换公式(命名为逻辑)的子程序调用到另一个子程序中,该子程序包含一个直接进入主程序的循环语句。
我不想将交换公式调用到循环子例程中。
我想要做的是创建一个循环子程序,我可以在主程序中反复使用不同的子程序。
Module Module1
Dim x, y As Integer
Sub Main()
calling2(AddressOf forloop , (calling3(AddressOf logic))))
Console.ReadLine()
End Sub
你可以猜到这不起作用,我不能在主程序的子程序中调用子程序。我想知道如何做到这一点。 如果有人想要阅读它以更好地理解我的问题,那么我的其余代码将在下面显示
Function myswap(ByVal x As Integer, ByVal y As Integer)
x = x + y
y = x - y
x = x - y
End Function
现在是我的循环子程序。我想让它保持不变,所以我可以多次使用它而不需要改变它自己的代码。
Sub forloop()
Dim i As Integer
Console.WriteLine("enter how many times to be repeated?")
Dim c As Integer = Console.ReadLine
For i = 1 To c
Next
End Sub
下面是我的调用子程序,我用它来调用子程序到主程序中。如果我只调用一个子程序,则mu程序可以工作,例如 我说调用(AddressOf逻辑) 这很好用但是当我把它们一起叫到它们然后我得到了错误
错误BC30057'公共函数调用2(ByRef b As Action)作为对象的参数太多
Function calling(ByRef a As Action)
a()
End Function
Function calling2(ByRef b As Action , ByRef n As Action)
End Function
Function logic()
Console.Write("enter first number:")
x = Console.ReadLine
Console.Write("enter second number:")
y = Console.ReadLine
Console.Write(x)
Console.Write(" , ")
Console.WriteLine(y)
End Function
Sub myswap(x, y)
Console.WriteLine("after swapping:")
Console.Write(x)
Console.Write(" , ")
Console.WriteLine(y)
End Sub
Function calling3(ByRef k As Action)
End Function
End Module