アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になってます!
超初心者です。
よろしくお願いしますm(__)m

C++のヘッダファイルに、クラスの定義をしました。
mainプログラム内でそのクラスのオブジェクトを定義しました。
BorlandC++では、そのプログラムは問題なくコンパイル&実行できるのですが、
HEW3ですと、「語句の並びが文法にあっていません」という旨のエラーが出ます。

クラス定義も、一般の書籍に書いてあるとおりに定義しているし、BorlandC++ではエラーになりません。
HEWだと定義の仕方が特殊なのでしょうか??

私の知識レベルではHEWのマニュアルが難しくてなかなか理解できません。
どうか初心者にもわかりやすく解説していただけませんでしょうか?
よろしくお願いいたしますm(__)m

A 回答 (3件)

ソースファイルの拡張子がcppでなくcのため


C++ではなくCとしてコンパイルしているということはないでしょうか?

これ以外でクラス宣言でエラーが起こるとすると
前の宣言が正しく終了していない、
すでに定義されたトークン名、
もしくは#include前後に何か問題があるはずです。

この回答への補足

ご回答ありがとうございます!

>ソースファイルの拡張子がcppでなくcのため
>C++ではなくCとしてコンパイルしているということはないでしょうか?

あーっ!!
どうやらそのようです(@_@)!!!!!
cppからcを呼び出す時は、extern"c"をしているのですが、その逆の存在を忘れていました・・・。
ありがとうございます。
cでcppを呼び出す方法、調べてみますm(__)m

補足日時:2004/11/15 09:59
    • good
    • 0

コンパイラが違えば通常何かしら違いがあります。



標準に完全に準拠していない(できていない),定義があいまいな部分がありコンパイラ作成者によって解釈が異なる、
独自の拡張がなされている場合がある,言語仕様上もともと実装依存となる部分が存在する,OSやCPUに依存する部分がある等の理由です。

実際は、問題のソースとコンパイラの仕様がわからないとなんとも言えません。
まあ、ソースと正確なエラーメッセージがあればある程度見当はつくと思いますが。
    • good
    • 0

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

この回答への補足

ご回答ありがとうございます。

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)

補足日時:2004/11/15 09:02
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!