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

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

新規登録して質問してみよう
ただいま回答率
85.46%
C++

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

Q&A

解決済

1回答

930閲覧

C++のエラーについて

rikubon_

総合スコア39

C++

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

0グッド

0クリップ

投稿2020/07/14 07:29

C++で条件演算子の練習をしていました。下記のようなコードを書いたんですが、エラーの原因がわかりません。

C++

1#include <iostream> 2using namespace std; 3 4int main() 5{ 6 int num; 7 cout << "整数を入力してください"; 8 cin >> num; 9 10 int ans = num%2; 11 char out; 12 out = (ans==0) ? "偶数" : "奇数"; 13 14 return 0; 15}

ERROR

1invalid conversion from 'const char*' to 'char' [-fpermissive] 12:18 2

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

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

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

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

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

guest

回答1

0

ベストアンサー

"偶数""奇数"がchar型ではないのにchar型の変数outに代入しようとしていることが原因です。

std::string out;のように文字列型を使うか、auto out = ans==0 ? "偶数" : "奇数";のようautoを使ってコンパイラに推論させるべきでしょう。

投稿2020/07/14 07:35

mitama_rs

総合スコア165

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

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

rikubon_

2020/07/14 07:43

ありがとうございます。偶数や奇数の文字列は型とすればなんになるんでしょうか?
mattn

2020/07/14 07:54

既に回答に書かれています。 本来は char* out; にすればエラーは直りますが、質問者さんの悩みどころを見る限りポインタをまだ理解されていないかと思います。mitama_rs さんの書かれている通り std::string out; にするか(この場合 #include <string> が必要です)、auto (回答内参照)を使うと良いでしょう。
mitama_rs

2020/07/14 08:58 編集

「 `"偶数"` や `"奇数"` の型はなんですか?」という質問であれば、回答は `char const (&) [7]` です。
rikubon_

2020/07/14 15:53

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問