Member 13636727 Ответов: 1

Ошибка массива Visual studio 2012


Привет, я получаю нелепую ошибку в своей программе. В версии Visual Studio 2012 professional следующий фрагмент кода выдает такую ошибку:

for (int i = 0; i < MAX_CLIENTS; i++)
  {
      client[i] = { -1, INVALID_SOCKET };
  }


Ошибка есть;
1	IntelliSense: expected an expression
error C2143: syntax error : missing ';' before '}'	
error C2059: syntax error : '{'


Что я уже пробовал:

Я попытался что-то изменить в свойствах проекта, но это не сработало хорошо, если вы уже испытывали проблемы с таким описанием раньше, пожалуйста, помогите мне

1 Ответов

Рейтинг:
5

Jochen Arndt

client[i] = { -1, INVALID_SOCKET };
Это синтаксис для инициализации структуры, но вы пытаетесь установить элементы существующей структуры.

Вы должны использовать что - то вроде
client[i].member1 = -1;
client[i].socket = INVALID_SOCKET;
или
// Create and initialise an instance to be copied
ClientType emptyClient = { -1, INVALID_SOCKET };
// ...
client[i] = emptyClient;