• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HEW3とBorlandC++でクラス定義の違い???)

HEW3とBorlandC++でクラス定義の違い???

このQ&Aのポイント
  • C++のヘッダファイルに、クラスの定義をしました。mainプログラム内でそのクラスのオブジェクトを定義しました。BorlandC++では、そのプログラムは問題なくコンパイル&実行できるのですが、HEW3ですと、「語句の並びが文法にあっていません」という旨のエラーが出ます。
  • クラス定義も、一般の書籍に書いてあるとおりに定義しているし、BorlandC++ではエラーになりません。HEWだと定義の仕方が特殊なのでしょうか??
  • 私の知識レベルではHEWのマニュアルが難しくてなかなか理解できません。どうか初心者にもわかりやすく解説していただけませんでしょうか?

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

  • ベストアンサー
  • kmb01
  • ベストアンサー率45% (63/138)
回答No.3

ソースファイルの拡張子がcppでなくcのため C++ではなくCとしてコンパイルしているということはないでしょうか? これ以外でクラス宣言でエラーが起こるとすると 前の宣言が正しく終了していない、 すでに定義されたトークン名、 もしくは#include前後に何か問題があるはずです。

anpa_1978
質問者

補足

ご回答ありがとうございます! >ソースファイルの拡張子がcppでなくcのため >C++ではなくCとしてコンパイルしているということはないでしょうか? あーっ!! どうやらそのようです(@_@)!!!!! cppからcを呼び出す時は、extern"c"をしているのですが、その逆の存在を忘れていました・・・。 ありがとうございます。 cでcppを呼び出す方法、調べてみますm(__)m

その他の回答 (2)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

コンパイラが違えば通常何かしら違いがあります。 標準に完全に準拠していない(できていない),定義があいまいな部分がありコンパイラ作成者によって解釈が異なる、 独自の拡張がなされている場合がある,言語仕様上もともと実装依存となる部分が存在する,OSやCPUに依存する部分がある等の理由です。 実際は、問題のソースとコンパイラの仕様がわからないとなんとも言えません。 まあ、ソースと正確なエラーメッセージがあればある程度見当はつくと思いますが。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

エラーになる部分を表示できませんか?

anpa_1978
質問者

補足

ご回答ありがとうございます。 class pulse{ protected:      unsigned int carrer;      unsigned int *atai;      unsigned int u,v,w; public:      pulse(double hz,unsigned int prescaler,unsigned int ini_carrer,unsigned int ini_dead);      ~pulse();      void next_phase();      void set_TBR();      unsigned int phase_u,phase_v,phase_w,td,cnt; }; エラーメッセージ******** C:\Hew3\clock\clock\func.h(26) :C2500 (E) Illegal token "pulse" C:\Hew3\clock\clock\func.h(26) : C2500 (E) Illegal token "{" エラーメッセージの「func.h(26)」の部分が、プログラムの「class pulse{」の部分を指しています。 書き方、間違ってるのでしょうか(T_T)

関連するQ&A