Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
22
Обнаружьте баги в Swift‑примерe
Условие задачи
В этом примере рассматривается, как изменяется значение свойства в классе и в структуре. Класс SomeClass объявлен с переменной value и методом changeValueInc(), который увеличивает значение. Структура SomeStruct имеет аналогичную переменную и метод, однако в Swift метод структуры не может изменять свойства без указания mutating. Ниже приведён исходный код, в котором попытка изменить value в структуре приводит к ошибке компиляции.
class SomeClass {
var value = 5
func changeValueInc(){
self.value += 1
}
}
struct SomeStruct {
var value = 5
func changeValueInc(){
self.value += 1
}
}
let c = SomeClass()
c.changeValueInc()
let s = SomeStruct()
s.changeValueInc()
Ваше задание – определить, почему код не компилируется и предложить исправление.