В этом сообщении не упоминается ошибка, которую вы указали. Но есть еще одна проблема с вашим кодом, на которую я хочу обратить внимание, предлагая вам и ее решение.
В C ++ switch-case
может иметь только целочисленную константу, а не строковый литерал.
Так что это неправильно:
switch(shiptype) // Determines the length to add to the x co-ordinate
{
case "cv" : shiplen = 5; break;
case "ca" : shiplen = 4; break;
case "dd" : shiplen = 3; break;
case "ss" : shiplen = 3; break;
case "ms" : shiplen = 2; break;
}
Это не скомпилируется.
Я бы предложил вам определить перечисление ShipType
, как:
enum ShipType
{
cv,
ca,
dd,
ss,
ms
};
А затем объявите shiptype
типа ShipType
, чтобы вы могли написать это:
switch(shiptype) // Determines the length to add to the x co-ordinate
{
case cv : shiplen = 5; break;
case ca : shiplen = 4; break;
case dd : shiplen = 3; break;
case ss : shiplen = 3; break;
case ms : shiplen = 2; break;
}