質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

1678閲覧

なぜこれらのエラーが?

sharoccu

総合スコア26

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/05/29 10:38

##実現したい事
コンパイル時に、エラーが出ます。(エラー内容は下に記述している)このエラーを解消するには、どうすればいいかを教えてください。
##コンパイラの画面

cl /EHsc calculator.cpp addition.cpp Microsoft(R) C/C++ Optimizing Compiler Version 19.26.28805 for x86 Copyright (C) Microsoft Corporation. All rights reserved. calculator.cpp addition.cpp addition.cpp(6): error C2065: 'cout': 定義されていない識別子です。 addition.cpp(7): error C2065: 'cin': 定義されていない識別子です。 addition.cpp(8): error C2065: 'cout': 定義されていない識別子です。 addition.cpp(9): error C2065: 'cin': 定義されていない識別子です。 コードを生成中... C:\programming\CUI-program\calculator\calculator.cpp(29) : warning C4700: 初期化されていないローカル変数 'second' が使用されます C:\programming\CUI-program\calculator\calculator.cpp(29) : warning C4700: 初期化されていないローカル変数 'first' が使用されます C:\programming\CUI-program\calculator>

##ソースファイル
ちなみに、ソースファイルは2つに分かれています。

c++

1#include <iostream> 2using namespace std; 3#include "calculator.h" 4 5int main() { 6 string explanation; //使い方/何算か 7 double first; //一つ目の数 8 double second; //二つ目の数 9 double ans; //答え 10 11 cout << "Ver1.0.1" << endl; 12 13 cout << "このアプリの使い方を見ますか?(入力した後、enterキーを押してください)" << endl; 14 cout <<"はい:a\tいいえ:b" << endl; 15 cin >> explanation; 16 17 if (explanation == "a") { 18 cout << "電卓です。" << endl; 19 cout << "次に聞かれる「一つ目の数」とは、「A+B=C」の時、Aにあたる数です。" << endl; 20 cout << "次に聞かれる「二つ目の数」とは、「A+B=C」の時、Bにあたる数です。" << endl; 21 cout << "これからの質問に答えた後は、毎回enterキーを押してください。" << endl; 22 } 23 24 cout << "何の計算をするかを下から選んで下さい。" << endl; 25 cout << "a:足し算\tb:引き算\tc:掛け算\td:割り算" << endl; 26 cin >> explanation; 27 28 if (explanation == "a") { 29 ans = addition(first, second); 30 } 31}

c++

1double addition(double first, double second) { 2 using namespace std; 3 double ans; 4 5 //数値を入力させる 6 cout << "A+B=Cの時、Aに当てはまる数を入力してください:"; 7 cin >> first; 8 cout << "A+B=Cの時、Bに当てはまる数を入力してください:"; 9 cin >> second; 10 11 //計算する 12 ans = first + second; 13 14 //戻り値として、ansを返す 15 return ans; 16}

##環境
テキストエディタ:Visual Stuio

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cateye

2020/05/29 10:44 編集

additionには#include <iostream>は無いのですか? また、main()側でaddition()のextern宣言は?
guest

回答2

0

addition.cppのほうにも#include <iostream>を書いてください。

そして、warningに出ている通り、mainでのfirstsecondには値が来ません。C++では引数はデフォルトで値渡しなので、cin >> first;としても呼んだ側には影響しません。

投稿2020/05/29 10:43

編集2020/05/29 10:44
maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sharoccu

2020/05/29 12:37

解決しました。ありがとうございます。
guest

0

ベストアンサー

addition.cpp で #include <iostream> してないから。

投稿2020/05/29 10:41

episteme

総合スコア16612

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sharoccu

2020/05/29 12:36

#includeすると、コンパイル出来ました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問