Потому что C не может копировать массивы через присваивание.Единственное место, где вы можете когда-либо использовать синтаксис {1.0, 1.0, 1.0}
, это инициализация переменной:
float foo[3] = {1.0, 1.0, 1.0};
Это просто не то, что поддерживает язык.Возможно, это потому, что это позволило бы оператору =
занять неопределенное и, возможно, очень много времени для выполнения копирования - это философский вопрос.