• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンパイルエラーについて)

コンパイルエラーについて

このQ&Aのポイント
  • 現在、大学でステッピングモーターの制御について学んでいます。コンパイルエラーについてお力をお貸しいただけたら幸いです。
  • Windows7およびVC++6.0を使用して、ステッピングモーターの制御プログラムを作成しています。
  • コンパイルエラーが発生しており、エラーメッセージは型の指定や識別子の未定義などの問題が報告されています。

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

  • ベストアンサー
  • hisappy
  • ベストアンサー率46% (184/392)
回答No.4

ひとまずこんな感じでしょうか。 ///Motorprogram #include "Svcpp.h" #define JOG_P 0x32;//定速連続+方向の定義 int sub() {   bool flag;   ///X軸(定速連続+方向)   flag=ppd3test('X','+');//動作可否の判断   if(!flag)   {     w_p234.axis ='X';     w_p234.cmd = JOG_P;//定速連続+方向     w_p234.spd = 25;//25pps     flag = hp234_writ(&w_p234);//動作開始指令   }   return(1); } そのままだとやっぱりエラーなのは意図的です。 とはいうものの、妙な点があります。 質問文の通りならば 「'ppd3test' : 定義されていない識別子です。」 というエラーは出ないのが正しいようですが??

kon0127
質問者

お礼

回答ありがとうございます。 flagが定義できたので、エラーが減りました。 ///Motorprogram #define USE_MOTOR #ifdef USE_MOTOR #include "Svcpp.cpp" Hppd234 Hp; #endif short hp234_jog_p (short,short,short,long); /* No.19 */ void init(); /* HLS-PPD234Wxx initialize */ void x_set_orgn(); /* X axis origin set */ void y_set_orgn(); /* Y axis origin set */ void z_set_orgn(); /* Z axis origin set */ void u_set_orgn(); /* U axis origin set */ void set_orgn(short); int sub() { bool flag; ///X軸(定速連続+方向) // flag=ppd3test('X','+');//動作可否の判断 // if(!flag) void Hppd234::set_orgn(short axis) { short mode; w_p234.axis ='X'; w_p234.cmd = JOG_P;//定速連続+方向 w_p234.spd = 25;//25pps flag = hp234_writ(&w_p234);//動作開始指令 } return(1); } motor-2011.cpp C:\~\motor-2011.cpp(26) : error C2601: 'set_orgn' : ローカル関数の定義が正しくありません。 cl.exe の実行エラー 少し改良したら新たなエラーが出てしまいました。。 ちなみにppd3の問題は解決してないのですが、とりあえず動作を確認したいのでコメントアウトしました。 set_orgnについて定義できていないということのなのでしょうか??

その他の回答 (3)

回答No.3

こんにちは。 いろいろ突っ込みたいところはありますが、1つだけ確認です。 #include "Svcpp.cpp" とありますが、ヘッダーのインクルードが間違っているという事はないでしょうか? #include "Svcpp.h" とか・・・一応確認です。(^^;;

kon0127
質問者

お礼

回答ありがとうございます。 #includeは実際にボードのアドレスや基本情報を詰め込んであるもので、添付のソフトウェアについていたものです。 形がやはりめちゃくちゃなのですね。 説明不足で申し訳ないです。

回答No.2

こんにちは。 コードの一部だけ出されても。 「flag」の定義はどこで? 「w_p234」は「Svcpp.cpp」の中で Static に定義されているのですか? まぁ、とにかくでたらめなコードですね。

kon0127
質問者

お礼

勉強不足で申し訳ありません。 flagはやはり定義してあげないといけないのですね。 w_p234についてはSvcpp.cppの中で定義されているので問題ないと考えています。 動作を検証したいのでなるべくシンプルな構造で作りたかったのですが、形がめちゃくちゃなのですね。

回答No.1

...まともなコードには見えません。 if(!flag){ ... } が関数のスコープ内に収まっていませんので。

kon0127
質問者

お礼

回答ありがとうございます。 flagの内容は動作可否の判断ですが、それをコメントアウトすればif文についてもカットしてしまっても大丈夫なのでしょうか? とにかく動作するかどうかということに重点をおいています。

関連するQ&A

専門家に質問してみよう