
No.2ベストアンサー
- 回答日時:
★基本的に調べようがありません。
・『void』ポインタはアドレス情報のみを受け渡しますので、型のサイズまでは分かりません。
逆に言えば、型のサイズが分からないから『汎用ポインタ』と呼べるのです。
・あるライブラリの関数とは何?→どんな関数か分かりませんので、これ以上はアドバイス無理!
ただ、C言語の qsort などでは比較用の関数で『void』ポインタを受け取りますが、その関数内で
渡されたデータの『型』を指定します。→ポインタの形でキャストします。
この比較用の関数は自前で用意する関数ですので、ソートするデータの型が分かっています。
でも、ソートするデータ型が複数ある場合は、比較用の関数を複数作って切り替えます。
・あと関数に型を表す引数があれば、それを見て判断できますが、そうでない場合は『void』ポインタで
渡される前の『型』の調べることは不可能です。→言語仕様より。
・以上。参考に。→一応、あるライブラリの関数とは何?
この回答へのお礼
お礼日時:2007/04/09 17:25
すみません。Voidではなくvoidです。
やはり、データの既知でないとしょうがないのですね。わからない前提で動作するものを作ろうと思っていまたのですが、それは不可能とわかっただけでもありがたい事です。
有難うございました。
No.3
- 回答日時:
voidではなくVoidですか?その型の定義がどうなっているのか補足してください。
> あるライブラリの関数を利用しようとしたのですが、
ライブラリの関数を利用するのであれば、質問者さんは受け取る立場のコードを書くのではなく、渡す立場のコードを書くのでは?渡す側であれば、自分がどんな型の引数を渡したかわかるはずです。実際はどうなのでしょうか?
この回答へのお礼
お礼日時:2007/04/09 17:26
すみません。Voidではなくvoidです。
やはり、データの既知でないとしょうがないのですね。わからない前提で動作するものを作ろうと思っていまたのですが、それは不可能とわかっただけでもありがたい事です。
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Run-Time Check Failure #3とい...
-
ポインタのポインタとrealloc
-
C言語のポインタに直接アドレス...
-
ExcelVBAでのkernel32(64bit)
-
参照型で受け取った引数をポイ...
-
コンストラクタでnewを失敗した...
-
どうしてエラーになるかわかり...
-
LPSTR型の初期化について
-
C++で変数の型を途中で切り替え...
-
戻り値で構造体を返すことは可...
-
C言語の文字列?処理 strcpyやl...
-
自作関数の引数
-
Excelですべての組合せ(重複組...
-
C言語において、 配列要素をひ...
-
C言語 配列の長さの上限
-
CStringからchar*への型変換に...
-
isalpha()関数について
-
配列を使わずに、変数名を動的...
-
C言語の配列のサイズ
-
Integer変数をカラにしたいので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
ExcelVBAでのkernel32(64bit)
-
セグメントエラー
-
#define NULL ((void *)0) の弊害
-
fopne で失敗する原因
-
LPSTR型の初期化について
-
トリプルポインタが必須!とな...
-
戻り値で構造体を返すことは可...
-
c言語で任意のファイルから読み...
-
参照型で受け取った引数をポイ...
-
ポインタについて
-
アプリを32bitから64bit移行
-
ハンドル、アドレス、ポインタ...
-
ポインタが文字化けしてる?!...
-
NULLポインタが0でない処理系と...
-
ハンドルはポインタか
-
リトルエンディアンというもの...
-
【C言語】戻り値が構造体の関数
おすすめ情報