переназначение значений в инициализированный двумерный массив в c ++

0

Мне нужно присвоить значение мату (двумерный массив в s) без использования цикла.

struct s{
 int mat[2][2];
};

int main()
{
 s *obj=new s[10];
 obj[0].mat[][]={{1,2},{5,6}};   /*error----how to assign value like this??*/
}
  • 1
    Массивы не могут быть назначены в C ++.
Теги:

3 ответа

4
Лучший ответ

Назначить весь объект:

int main()
{
    s obj { { {1,1}, {1,1} } };
    obj = s { { {2,2}, {2,2} } };
}
  • 0
    Live демо
  • 0
    +1 это лучший ответ
2

Массивы не назначаются в C+.

Однако s является агрегатом, поэтому вы можете напрямую использовать инициализатор скобок:

struct s{
 int mat[2][2];
};

int main()
{
 s obj = { {1,2} , {5,6} }; 
}
0

Вы не можете: вам придется использовать цикл.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню