アプリ版:「スタンプのみでお礼する」機能のリリースについて

アホみたいな質問でごめんなさい
値渡し参照渡しがいまいちわからなくて質問します

①(ByVal a As Integer)
 If a=0 Then
  :
ElseIf a=1
:
②(ByRef a As Integer)
With a
.Selection=0
.SelectionLength=Len(a)
End With
③(ByVal a As Integer)
Select Case a
Case 0
:
Case 1
:
④(ByRef a As String)
a=IIf(IsNumeric(a),a,"0")
:
⑤(ByVal a As String)
Dim b As Decimal
b=CDec(IIf(IsNumeric(a),Format(a,"###0"),0))

各ByVal、ByRefあってますか?

A 回答 (2件)

④は合ってる。


②は間違っている。
①③⑤は間違ってるとは言えない。

甘々かもしれません。
    • good
    • 0

ちょっと何言ってるかわかりません。


ByValとByRefで受ける関数内で、受けた引数の値を変更後、その関数の呼び出し元で、渡した変数の値を確認したら違いがわかると思います。

StringやIntegerなどのプリミティブ型をByRefにすることはまずありません。
プログラムの質を担保するために、やってはならないものと位置付けられています。
オブジェクトをByRefにします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!