プロが教えるわが家の防犯対策術!

unsafe void test(int *x,int *y) { *x=15; *y=16; }
unsafe private void button1_Click(object sender, EventArgs e)
{ int a,b;
test(&a,&b);
label1.Text =a+b;
}

上のような感じにユーザー定義関数と変数のやりとりをさせているのですが、
日本語のやりとりの方法がよく分かりません。
unsafe void test { } 内で "テスト" を変数に入れ、
それを unsafe private void button1_Click{ } 内の変数に代入したいです。
記述例を教えて下さい。

A 回答 (1件)

型をちゃんと考えて処理しましょう。


int型のオブジェクトにはint型の値しか入りません。
# byte/short/long etc.をintに変換することはできますが。

文字列を返したいのであれば,文字列型の引数を用意する必要があります。
void test (out string x) { x = "テスト"; }
のように。

なお,stringのような参照型はポインタ型にすることができません。
ref) ポインター型 (C# プログラミング ガイド)
http://msdn.microsoft.com/ja-jp/library/y31yhkeb …
引数を参照渡ししたいのであれば,素直にoutやrefを使うべきです。
    • good
    • 0

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