• ベストアンサー

DLLの作成でで

DLLの作成でで extern "C" int test(void) { int a; a=2; return a; } test の前のintは返す値の型なのでしょうか? もし文字を返す場合はcharでいいのでしょうか? また複数の値を返す場合は別に追加しなければいけないのでしょうか?よろしくお願いいたします。 初心者なので説明が下手ですがよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.1

> test の前のintは返す値の型なのでしょうか? そうです。 > もし文字を返す場合はcharでいいのでしょうか? 1文字だけ返すなら、char もしくは int でいいです。 文字列を返す場合はまた違ってきます。 > また複数の値を返す場合は別に追加しなければいけないのでしょうか? 複数の値を返したい場合は、引数にポインタを渡してその指し示す先に値を格納して返すのが普通です。 void test(int *pa, int *pb) {   if (pa) *pa = 100;   if (pb) *pb = 200; } 構造体を使うこともよくあります。 void test(HOGE *p) {   if (p) {     p->a = 100;     p->b = 200;   } }

gotyan
質問者

お礼

ありがとうございます。 最近 やり始めたばかりでわからないことばかりです。 助かりました ありがとうございます

関連するQ&A