【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※返信付き投稿の削除は禁止!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら


本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.21568

型を調べる方法ってありますか?
投稿者---taka(2005/06/22 23:35:02)


macでgcc使用してます。
void型のポインタの配列の要素それぞれが
型の分からないデータを指している場合
どの型として扱ったらいいかを調べる方法ってありますか?
教えてください。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:型を調べる方法ってありますか? 21569 Ban 2005/06/23 00:03:25


No.21569

Re:型を調べる方法ってありますか?
投稿者---Ban(2005/06/23 00:03:25)


>どの型として扱ったらいいかを調べる方法ってありますか?
>教えてください。

基本的に不可能です。
C++ だと typeid()というものがありますが、
void* にしてしまったらそれも役に立ちません。

内部にデータに識別できる情報を持つようにするのが定石です。

# あとはアドレスをキーにして型情報を引けるテーブルを作るとか...。



この投稿にコメントする

削除パスワード

No.21570

不可能ですか。ありがとうございました。
投稿者---taka(2005/06/23 00:20:43)


>>どの型として扱ったらいいかを調べる方法ってありますか?
>
>基本的に不可能です。
>C++ だと typeid()というものがありますが、
>void* にしてしまったらそれも役に立ちません。
>
>内部にデータに識別できる情報を持つようにするのが定石です。
>
返答ありがとうございました。

void型で記述しておいてテンプレートみたいに
使いたかったんですが、Cじゃ無理っぽいですね〜。
他の言語にはtypeofとかあるみたいですが・・・(ハァ


この投稿にコメントする

削除パスワード

No.21571

Re:不可能ですか。ありがとうございました。
投稿者---Ban(2005/06/23 00:48:48)


>void型で記述しておいてテンプレートみたいに
>使いたかったんですが、Cじゃ無理っぽいですね〜。
>他の言語にはtypeofとかあるみたいですが・・・(ハァ

C++ なら typeid (≒ typeof) がありますが void* には効きません。
# 正確には void* 型であることが分かります。

まして C では...。
C99をざっと見てもなさそうです。(C99 は明るくない)

無理にやるなら union 辺りで自前の型情報と
組み合わせてあげるしかないのでは?
>典型的な Variant モドキ実装


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧