當我嘗試編譯我正在處理的某些源代碼時,出現此錯誤。我很新的編程和陣列已經讓我很難因爲某些原因:C++:爲'char [4]'獲取太多初始值設定項數組錯誤
airline2.cpp:9:84: error: too many initializers for ‘char [4]’
char array_seats[][4] = {{'1', '2', '3', '4', '5', '6', '7'},{'A', 'B', 'C', 'D'}};
這是我的源代碼:
#include <iostream>
using namespace std;
int main()
{
char row, letter, answer;
int letter2;
char array_seats[][4] = {{'1', '2', '3', '4', '5', '6', '7'},{'A', 'B', 'C', 'D'}};
for (int row = 0; row <= 6; row++)
{
for (int letter = 0; letter <= 4; letter++)
{
cout << array_seats[row][letter] << " ";
}
cout << endl;
}
do
{
cout << "Enter your desired seat row:\n";
cin >> row;
cout << "Enter a seat letter:\n";
cin >> letter;
if(letter == 'A' || letter == 'a')
letter2 = 1;
else if(letter == 'B' || letter == 'b')
letter2 = 2;
else if(letter == 'C' || letter == 'c')
letter2 = 3;
else if(letter == 'D' || letter == 'd')
letter2 = 4;
if(array_seats[row-1][letter2] == 'X')
cout << "Sorry, this seat is taken.\n" << endl;
else
{
array_seats[row-1][letter2] = 'X';
cout << "Seat reservation successful.\n" << endl;
}
for (int row = 0; row <= 6; row++)
{
for (int letter = 0; letter <= 4; letter++)
{
cout << array_seats[row][letter] << " ";
}
cout << endl;
}
cout << "Would you like to try again? (Y/N)\n";
cin >> answer;
}while (answer == 'Y' || answer == 'y');
cout << "Have a good flight!\n";
return 0;
}
我試過誤差設置爲5和添加'\ 0'結束,但似乎沒有任何工作。任何幫助?
把它改成'char array_seats [] [7]'。 – songyuanyao
那麼它說_「太多初始化」_。你有沒有嘗試減少初始化器的數量? –
您正在初始化一個數組以包含任意數量的4個字符的數組。你有兩個嵌套的初始化器 - 一個包含7個字符和一個包含3個字符。那麼,鑑於這個原因,假設你試圖初始化一個4字符數組,那麼「太多初始化器」的信息是否有意義? – davidbak