プロが教えるわが家の防犯対策術!

エラーが二つ出てしまいます。
自分ではよく分からなく、図々しく質問しました。
誰か助けてください。


#include<iostream>
using namespace std;

double fan(double,double angle=360.0); /* angleはデフォルト360 */

double fan(double r, double angle){
return 3.1415926*r*r*angle/360.0; /* 面積を返す */
}

int main(void){
double r,angle;

cout << "半径を入力してください。 : ";
cin >> r;
cout << "角度を入力してください。 : ";
cin >> angle;

cout << "半径 : " << r << " 角度 : " << angle << endl;
cout << "面積 : " << fan(r,angle) << endl << endl;
cout << "半径 : " << r << " の円なら" << endl;
cout << "面積 : " << fan(r) << endl;

return 0;
}

A 回答 (4件)

> こういうのがでます。


> Cpp3.cpp(4) : error C2018: 文字 '0x81' は認識できません。
> Cpp3.cpp(4) : error C2018: 文字 '0x40' は認識できません。

コメント以外のところに漢字の空白が入ってます。

> double fan(double,double angle=360.0); /* angleはデフォルト360 */

の行のセミコロンの後が、そうです。普通の空白やTABにして下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。やっと分かりました。

お礼日時:2001/09/13 11:18

エラーメッセージでは「0x8140が認識できない」と言っているので、全角の空白がプログラム内のどこかに入っていませんか?

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

ありがとうございました。やっと分かりました。

お礼日時:2001/09/13 11:19

ソースを見る限り、特におかしなところはありませんが、



> エラーが二つ出てしまいます。

というところから想像するに、以下の二行でコンパイルエラーが出ているのでは
ないでしょうか?

> #include<iostream>
> using namespace std;

この二行の表記は、ANSI C++ で規格が定まったときの表記で、それ以前の C++
コンパイラでは、以下のような表記になります。

#include <iostream.h>
/* using namespace は書かない */
    • good
    • 0

あなたの開発環境は何ですか?


OSとOSのリビジョン、開発環境のバージョンなどがわかりません。また、どんなエラーメッセージが出ているのでしょうか?

共通事項として何点か。
・C++なのになぜ
---
double fan(double,double angle=360.0);
double fan(double r, double angle){
以下省略、
---
のような「古いプロトタイプ宣言」を行っているのですか?
・C++のコンパイラを使っていますか?
・C++に必要なライブラリはリンクしていますか?

少なくとも私の手元の環境では問題ありません。
Linux + G++(egcs-2.91.66)

この回答への補足

こういうのがでます。
Cpp3.cpp(4) : error C2018: 文字 '0x81' は認識できません。
Cpp3.cpp(4) : error C2018: 文字 '0x40' は認識できません。
cl.exe の実行エラー

補足日時:2001/09/12 00:36
    • good
    • 0

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