C++コードのコンパイル中に問題があります。私はまだC++を学んでいるので、私はまだ高度なコマンドのほとんどをまだ理解していません。私は、ユーザーの姓、年齢、性別を尋ね、それをユーザーに表示するプログラムを作成しようとしていました。これは私のソースコードです:エラー:スイッチ数量が整数ではありません。C++
#include <iostream>
int main()
{
char firstName[20];
char lastName[20];
char age[6];
char gender[3];
int i = 0;
std::cout << "Please enter your full name: ";
std::cin.getline (firstName, 19, ' ');
std::cin.getline (lastName, 19);
std::cout << "Enter your age: ";
std::cin.getline (age, 5);
while (i != 1)
{
std::cout << "Enter your gender (m/f)";
std::cin.getline (gender, 2);
switch (gender)
{
case 'm':
std::cout << "\nHello Mr. ";
i++;
break;
case 'f':
std::cout << "\nHello Mrs. ";
i++;
break;
default:
std::cout << "\nThat is not even a gender!\n";
break;
}
}
std::cout << lastName << "!\n";
std::cout << "You are " << age << " years old.";
return 0;
}
私はこれをコンパイルしようとしたとき、私のコンパイラは私に次のエラーを与える:
NameAgeQ.cpp: In function 'int main()':
NameAgeQ.cpp:24:15: error: switch quantity not an integer
私は前に「スイッチ」ステートメントで別のプログラムをコーディングしようとしました文字を扱うことができます。しかし、これまでのプログラムでは、「性別」を「性別」と宣言しました。代わりに 'char gender [];'の代わりに。
なぜこの特定のケースでは 'switch'ステートメントが機能しないのですか?配列文字列をサポートしていませんか?
なぜあなたのソースコードに字下げがないのですか? –
私はこのリンクがあなたの疑問をすべて解決すると思います:http://stackoverflow.com/questions/4535825/error-switch-quantity-not-an-integer – Azodious