プロが教える店舗&オフィスのセキュリティ対策術

Borland C++ Builderで開発したプログラムを、訳あってVC++(2003)に乗せ変えてビルドしようとしたのですが、boolを使っているところでコンパイルエラーになります。

正確には
error C2061: 構文エラー : 識別子'bool'
となります。

このエラーの解決法をご存知の方がいらっしゃいましたら、ご教示お願いいたします。

A 回答 (3件)

肝心の情報が不足しています。



> (長いのでエラー部を抜粋します。下記"bool"の部分です。
> また、変数名等は伏字とさせていただきます。)

抜粋でもかまいませんが、エラーを再現できるものを貼り付けてください。
伏字にした変数名が間違っている、あるいはマクロになっているといったことはありませんか?

> message_lg.h

実際にコンパイラに渡すファイル名を教えてください。
.cだとCとしてコンパイルされてしまいます。

この回答への補足

返答が遅くなってしまい大変失礼いたしました。
(急に急ぎの仕事が入ってしまったもので・・・)

> 抜粋でもかまいませんが、エラーを再現できるものを貼り付けてください。
> 伏字にした変数名が間違っている、あるいはマクロになっているといったことはありませんか?

仕事で使っているものなので公開できない箇所が多く
サンプルソース的なものを作ろうとも思ったのですがそこまでの余裕もないので
今回に関しては申し訳ありません・・・。

確認しましたが、変数名の間違い、マクロになっていると言うことはありませんでした。


> 実際にコンパイラに渡すファイル名を教えてください。
> .cだとCとしてコンパイルされてしまいます。

共通で使われているヘッダーなのですが、例を挙げるとwrite_lg.cなどです。
.cではなく.cppにしなければならないと言うことでよろしいでしょうか?
とりあえず.cppに変更してコンパイルしたところ、boolに関してのエラーはなくなりましたので
.cppを使う方法で解決していこうとは思うのですが
C++ Builderの方でどうやって解決していたのかは気になるところです。
(Builderの方では問題なくビルドできていました。)

色々とありがとうございました。

補足日時:2008/11/28 10:44
    • good
    • 0

拡張子を .cpp にしないと

    • good
    • 0
この回答へのお礼

jactaさんへの補足で記載しましたが、呼び出し元を.cppにすることで
bool部分に関してはエラーが出なくなりました。
ご指摘ありがとうございました。

お礼日時:2008/11/28 11:04

エラーが発生したソースコード、ファイル名、コンパイルオプションを補足してください。

この回答への補足

補足します。
■ソースコード
(長いのでエラー部を抜粋します。下記"bool"の部分です。
また、変数名等は伏字とさせていただきます。)
struct _st_lg
{
char XXX1[xxx1 + 1];
char XXX2[xxx2 + 1];
char XXX3[xxx3 + 1];
char XXX4[xxx4 + 1];
char XXX5[xxx5 + 1];

bool XXXX;
};


■ファイル名
message_lg.h

■コンパイルオプション(一部伏字とします)
/OUT:"C:\XXX\xxx.exe" /INCREMENTAL:NO /NOLOGO /DEBUG /PDB:"C:\XXX/xxx.pdb" /FIXED:No kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

他に必要補足事項がありましたらご指摘願います。

補足日時:2008/11/26 12:19
    • good
    • 0

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