A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
本当にdoubleですか?
本当にvoid * ですか?
void*はポインタでdoubleは数値です。
本来はキャストできるものではありません。
#1のエラー内容から
・Get??? が NULL を返している
・初期化されていない(どこを指しているのか不定な)ポインタを Get??? が返している
というあたりが予想されます。
デバッガを使ったり
void * p = get???() ;
printf("%p\n",p) ;
等して get??? がどんな値を返しているのか、確認してください。
あと、その Get??? のマニュアルに詳しく書いてないですか?
もし、公開されているライブラリなら、具体的にどのライブラリか教えていただけるとよいのですが。
例えば
Get???: get property value
とあって、その後に個別に
GetAAA: (説明)
GetBBB: (説明)
...
等とあるとか
doubleのビットパターンを、void * に入れて返している可能性も0ではないです。
この回答への補足
Autodesk MotionBuilder 2012 SDK Documentation
FBProperty というClassのGetValuePtr というメソッドです。
------------------------------
void* GetValuePtr ( ) const
Get property value.
-------------------------------
GetValuePtr の説明はこれだけです。
型はFBProperty のGetPropertyTypeName で調べました。
-------------------------------
char* GetPropertyTypeName ( )
Get the property's type name.
Returns:The property's type name.
-------------------------------
以上がGetPropertyTypeName の説明です。
const char* jpName[40];
const char* jpTypeName[40];
void * jpValue[40];
FBProperty* jp = joystick_PropertyList.operator[](i);// プロパティを取得
const char* jpName = jp->GetName(); // プロパティの名前を確認
(ここは問題なく自分の意図した名前が得られています。)
const char* jpTypeName = jp->GetPropertyTypeName(); // プロパティのタイプ、型を取得
(これがdoubleと返ってきます。double型であることに問題はありません。
他のものでも自分が予想していた型が返ってきています。)
void* jpValue = jp->GetValuePtr(); // プロパティの値を取得
(取得はできているようですが値を確認することができません。)
返ってくる値は 0x000000000000000000000 といった値が返ってきています。
この値に変化はありません。
あれからいろいろ試したところ
double value1 = *(double *)&jpValue
で処理は通ったのですが、値が 0.000000 しか返ってきませんでした。
モーションビルダー上では数値は入っているはずです。
No.1
- 回答日時:
多分以下の質問の続きなのでしょうが、
http://oshiete.goo.ne.jp/qa/8725097.html
だとしたら
double value = *(static_cast<double *>(Get???()));
で行けると思います。
……が、上記の前に上記関数で帰ってくるプロパティ値が本当に double か確認する必要があると思いますし、上記質問に記載の関数の説明を読むにプロパティが保持する値の型をチェックできる関数があるはずです。"Get property type." という感じのことが書いてある関数はありませんか?
この回答への補足
ありがとうございます。
値の型がdoubleであることは確認できています。
回答いただいた方法で試したのですが
【ハンドルされない例外が発生しました…読み取り中にアクセス違反が発生しました】
と出てきてその部分の処理が通りません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。 3 2023/01/29 22:13
- テレビ テレビの画面を写すキャストですが、アプリからならキャストを押すとちゃんとテレビの型式が出て来て画面飛 2 2022/03/22 14:57
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C言語のマクローリン展開ローラン展開のコードについて 3 2022/12/15 14:45
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Java インスタンス ダウンキャストについて以下の解釈であっているか教えて欲しいです。 サブクラスをスーパー 1 2022/03/27 18:53
- C言語・C++・C# C言語について。 5 2023/06/27 18:37
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
<!DOCTYPE html>あってますか?↑
-
HTML電卓で1文字消す方法
-
テーブルの行を折りたたみたい...
-
Duolingo のソースコードの名前...
-
コードを書いて下さい( ; ; )...
-
初心者html・CSS ウィンドウを...
-
スマホで、左右にスワイプして...
-
メモ帳の段落の揃え方
-
角丸画像の背景色を透明にした...
-
テーブルタグのセルの幅の一部...
-
HTMLです すいません教えてくだ...
-
フロントエンジニアで一人前と...
-
HTMLで特定の文字だけ色を変え...
-
WEBページを強制的に横画面で見...
-
スマホでHTMLファイルを開いて...
-
ウェブサイトにアップされてい...
-
、URL化させるにはどうしたらい...
-
goo は、放置?
-
CSS、Bootstrapについて contai...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLの値の渡し方について質問...
-
キリンビール(晴れ風)どうでし...
-
【Python初学者】以下コードに...
-
東京の人が好きな鉄板に嘔吐物...
-
テキストボックスを横並びで表示
-
5.(1)〜(5)教えて下さい!
-
このav女優さんはだれですか?
-
aspxでIFみたいなことがしたい
-
遷移先のURLにパラメータを表示...
-
ACCESSのレポートの表示...
-
ASP.netで、CheckBoxListのSele...
-
SELECTボックスの内容を動的に...
-
<br>が文字列で出力されてしま...
-
フォームのtextareaにnl2brを使...
-
改行したいのですが
-
javascriptで結果表示テキスト...
-
テキストボックスにマクロでメ...
-
C#のRichTextBoxで表示行数を取...
-
write downとfill outの違いを...
-
入力テキスト内で改行コードが...
おすすめ情報