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

コンパイルエラーが発生!C++を勉強中のあなたへ

このQ&Aのポイント
  • C++の勉強を始めたばかりのあなた。しかし、コンパイルエラーが発生して困っていることでしょう。
  • BORLAND C++ COMPILER 5.5を使用してコンパイルしようとした結果、指定のエラーが出ました。
  • どこが間違っているのかわからず、困っているあなた。解決策を教えてください。

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

  • ベストアンサー
回答No.7

> bcc32 123.c でコンパイルしましたが結果は同じです。 いえ、bcc32 -P 123.c でコンパイルして下さいって意味でした。。 ANo.1さんの書かれているように、using namespace std; を追加するとかは必要でしょう。

donaji
質問者

お礼

JaritenCat 様 using namespace std; を追記し bcc32 -P 123.c でコンパイルできました。 入門者なので良くわからないのですが、 "-P" は、どのような場合に使い分けるのですか?

その他の回答 (8)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.9

#4の者です。 > ファイル名は変更せずに C++のコードなのですからソースファイルの拡張子をcppにしましょう。

回答No.8

> "-P" は、どのような場合に使い分けるのですか? 簡単にまとめます。 拡張子がcのとき・・・C言語としてコンパイルしますので、C++で書いたものをコンパイルするときは、-Pオプションが必要です。  bcc32 -P 123.c でコンパイルします。 -Pオプションを指定しないと、質問のエラーがでます。 拡張子がcppのとき・・C++言語としてコンパイルしますので、-Pオプションは不要です。  bcc32 123.cpp または、 bcc32 123 でコンパイルします。 ※C++で書いたものは、拡張子をcppにすることをおすすめします。 ついでに、 <iostream>でも<iostream.h>でも使えるようですが、iostream.hは時代遅れなので使ってはいけません。 <iostream>をインクルードする場合は、coutが分からないというエラーが出ると思いますので、using namespace std; をいれるか、coutをstd::coutにしましょう。(後者の方をおすすめします)

donaji
質問者

お礼

JaritenCat 様 ありがとうございました。

回答No.6

失礼。今は iostream.h は使わないんですね。 やっぱり、コンパイル時に-Pオプションをつけて強制的にC++でコンパイルするより、素直に拡張子をcppにした方がいいでしょう。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.5

えっと.... Borland C++ では iostream.h を #include しなきゃならないんでしょうか?>#3 もしそうならさっさと捨てるべきですね.

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.4

> 拡張子の問題ではないような・・。 明らかに拡張子の問題です。

donaji
質問者

補足

正常にコンパイルされた下記のファイルを #include <stdio.h> void main() { printf("Hello.\n"); } ファイル名は変更せずに問題のあった下記リストに書き換えてみたのですが #include<iostream> int main(){ cout<<"hello"; return 0; } 同じエラーが出てしまいました。

回答No.3

bcc32 -P ソース.c でコンパイルすれば大丈夫でしょう。 #include<iostream> → #include <iostream.h> では?

donaji
質問者

補足

コマンドラインから bcc32 123.c でコンパイルしましたが結果は同じです。 また、#include<iostream> → #include <iostream.h> に変更してみましたが、やはり同じエラーが出てしまいました。

  • jein
  • ベストアンサー率49% (2799/5705)
回答No.2

ソースファイルの拡張子は何になっていますか? 拡張子からコンパイラ側がそれをC++のソースとして認識していないときに よく出るエラーのようですが。 拡張子を*.cppでやってみていかがでしょうか? http://dn.codegear.com/jp/article/26442

donaji
質問者

補足

拡張子は *.c です。 フリーの「C言語を始めよう!」というエディタ を利用しているので拡張子の問題ではないような・・。 ちなみに同じエディタで書いた下記のプログラムは 正常にコンパイルされ動いています。

  • aigaion
  • ベストアンサー率47% (287/608)
回答No.1

#include<iostream> using namespace std; int main(){ cout<<"hello"; return 0; } か #include<iostream> int main(){ std::cout<<"hello"; return 0; } で,行けませんか?

donaji
質問者

補足

using namespace std; を追記しましたが、結果は同じでした。

関連するQ&A

専門家に質問してみよう