ページ 1 / 1
SUBに2次元配列をわたすことが出来ません、どうするのでしょう
Posted: 2005年6月06日(月) 10:30
by iwao
Sub Test(ByVal k As *Long)
MessageBox(0, Str$(k[0,0])+" : "+Str$(k[0,1]), "表示テスト", 0)
End Sub
Dim data0[2,2] as Long
data0[0,0]=11
data0[0,1]=22
Test(data0)
Posted: 2005年6月06日(月) 14:38
by ゲスト
タイトルと本文の利用目的を理解し、
教えてくださる方に失礼のない態度で質問されてはいかがかな?
Posted: 2005年6月06日(月) 17:26
by イグトランス
私にはこうする方法しか思いつきませんでした。
コード: 全て選択
Sub Test(ByVal k As *Long, y As Long)
MessageBox(0, Str$(k[0 * y + 0]) + " : " + Str$(k[0 * y + 1]), "表示テスト", 0)
End Sub
Const Y = 2
Const X = 2
Dim data0[Y, X] As Long
data0[0, 0] = 11
data0[0, 1] = 22
Test(data0, Y)
Sub Test(ByRef k(Y, X) As Long)という風にすると実際にkを使おうとした所でエラーになってしまいましたし、どうやっても呼び出す所もエラーになってしまいました。
参考をコンパイルしてみました
Posted: 2005年6月06日(月) 21:51
by iwao
他に考えて調べていると、二次元配列は4個づつに0が入る見たいで、何か簡単に理論が解れば、つくろって見てみますが、知っている人がいたら教えてください。
Re: 参考をコンパイルしてみました
Posted: 2005年6月06日(月) 23:33
by tak
> 他に考えて調べていると、二次元配列は4個づつに0が入る見たいで、何か簡単に理論が解れば、つくろって見てみますが、知っている人がいたら教えてください。
失礼ながら、この文は僕の日本語力では解読できませんでした。
もっと適確に表現してもらえないでしょうか。
言いたいことはそれだけなのですが、ただこれだけ書き込んでも失礼なだけですし、僕なりに可能な範囲で解読してみます。
他に考えて調べていると
目的語:二次元配列について
前後関係より、進行形(~している)的な意味合いは無いと判断
二次元配列は4個づつに0が入る見たいで
解読できません。話の核となる大切な部分なのですが・・・
何か簡単に理論が解れば、つくろって見てみますが
「理論」の意味:二次元配列の理論
「つくろって見てみる」→「つくろう」と「見てみる」に分解
「つくろう」の目的語:ソースコード
「見てみる」の目的語:不明
知っている人がいたら教えてください
「知っている」の目的語:二次元配列の理論
「教えて」の直接目的語:二次元配列の理論
「教えて」の間接目的語:iwaoさん
以上の文法解釈を踏まえて、次のように解読しました。
「二次元配列について他に考え調べてみたら、
二次元配列は4個づつに0が入る見たいだ。二次元配列の理論が簡単に解れば、ソースコードをつくろうが、二次元配列の理論を知っている人がいれば教えてほしい。」
ここまではなんとか解読しましたが、間違いがあれば指摘してください。
それから、下線の部分を分かり易く表現してください。
Posted: 2005年6月07日(火) 07:52
by イグトランス
> Sub Test(ByRef k(Y, X) As Long)
このやり方が通るように山本様がコンパイラを改良してくれました。(しかも[]も使えるようになっていました)
ByRefを書くのは余計なようなのでSub Test(k[Y, X] As Long)と書けば良いようです。
To takさん
> 二次元配列は4個づつに0が入る見たいで
これが意味不明なのは私も同じです。なんて答えを返せばいいのか困りました。
> つくろって見てみますが
これは「作ってみますが」と書きたかったのではないでしょうか。
カンパを先月、山本さんに500円入れてよかった。
Posted: 2005年6月07日(火) 10:32
by iwao
Sub Test1(k[2,2] As Long)
MessageBox(0, Str$(k[0,0])+":"+Str$(k[0,1])+":"+Str$(k[1,0])+":"+Str$(k[1,1]), "表示テスト", 0)
End Sub
Dim data0[2,2] As Long
data0[0,0]= 1
data0[0,1]= 2
data0[1,1]= 3
data0[1,0]= 4
Test1(data0)