C ++ не поддерживает этот синтаксис.Попробуйте это:
iovec iov[2];
iov[0].iov_base = &req;
iov[0].iov_len = sizeof req;
/* ... */
Или, может быть:
iovec iov[] = {
{
&req, sizeof req
},
/* ... */
}
То, что вы пытались, это функция C99, называемая «составные литералы».Также, вещь .iov_base
называется «назначенным инициализатором».