SGP4/SDP4計算プログラム cppOrbitToolsについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ちはやぶる

SGP4/SDP4計算プログラム cppOrbitToolsについて

#1

投稿記事 by ちはやぶる » 9年前

件名の通り、宇宙機の軌道計算をしようと思い、あるサイトでダウンロードしたC++プログラムを使用しています。
ダウンロードしたサイトのURLを以下に貼り付けます。
http://www.zeptomoby.com/satellites/

もしダウンロードして頂けたら幸いです。

そこで、軌道要素である「軌道傾斜角、近地点離角、昇交点赤経,"平均近点角」を計算しているcNoradSGP4.cppからmain関数に戻し、printfで表示させようと思い、以下の操作を行いました。


cNoradSGP4.cppにて使用している軌道要素

コード:

 m_Orbit.Inclination()
 omgadf
 xnode
 xmp
以上4つを

コード:

kidoukeisya = m_Orbit.Inclination()
kintitenrikaku = omgadf
syoukouten = xnode
kintenkaku = xmp
に格納


cNoradSGP4.hのpublicに

コード:

 double kidoukeisya;
   double kintitenrikaku;
   double syoukouten;
   double kintenkaku;
を作成


main関数において,試しに軌道傾斜角の値を表示させようと、

コード:

printf("軌道傾斜角:%f\n",satSGP4.m_pOrbit.m_pNoradModel.cNoradSGP4.kidoukeisya);
としたところ、エラーが発生し、

2 error C2228: '.cNoradSGP4' の左側はクラス、構造体、共用体でなければなりません
3 error C2228: '.kidoukeisya' の左側はクラス、構造体、共用体でなければなりません
1 error C2228: '.m_pNoradModel' の左側はクラス、構造体、共用体でなければなりません
4 IntelliSense: 式にはクラス型が必要です

と表示されました。

これらエラーを解決することができず、本掲示板にて質問させて頂きました。

説明が至らない点が多々あるとお思いますが、宜しくお願い致します.

かずま

Re: SGP4/SDP4計算プログラム cppOrbitToolsについて

#2

投稿記事 by かずま » 9年前

ちはやぶる さんが書きました:

コード:

printf("軌道傾斜角:%f\n",satSGP4.m_pOrbit.m_pNoradModel.cNoradSGP4.kidoukeisya);
としたところ、エラーが発生し、

2 error C2228: '.cNoradSGP4' の左側はクラス、構造体、共用体でなければなりません
3 error C2228: '.kidoukeisya' の左側はクラス、構造体、共用体でなければなりません
1 error C2228: '.m_pNoradModel' の左側はクラス、構造体、共用体でなければなりません
4 IntelliSense: 式にはクラス型が必要です

と表示されました。
. の左側は、クラスのオブジェクトです。
. の右側は、クラスのメンバ名です。

-> の左側は、クラスのオブジェクトへのポインタです。
-> の右側は、クラスのメンバ名です。


m_pOrbit は名前から見てポインタでしょう。
m_pOrbit-> でなければなりません。

m_pNoradModel は名前から見てポインタでしょう。
m_pNoradModel-> でなければなりません。

cNoradSGP4 はクラス名でしょう。メンバ名ではないものと思われます。

また、それぞれのメンバは public でないと、
上記のように直接参照することはできません。

ちはやぶる

Re: SGP4/SDP4計算プログラム cppOrbitToolsについて

#3

投稿記事 by ちはやぶる » 9年前

かずま様

返信ありがとうございます。
ご指摘の通り修正したところエラーは解決し、無事データを出力することができました。

またご迷惑をおかけするかもしれませんが、その際は宜しくお願い致します。

ちやはぶる

Re: SGP4/SDP4計算プログラム cppOrbitToolsについて

#4

投稿記事 by ちやはぶる » 9年前

申し訳ありません。

"解決"を選択するのを失念しておりました。

閉鎖

“C言語何でも質問掲示板” へ戻る