C ++: std :: Массив неверная задача массива [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C ++: std :: Массив неверная задача массива [дубликат]

Сообщение Anonymous »

У меня есть приведенный ниже код. Что я делаю неправильно, что я не могу просто назначить массив mybar 1 -м индексу foo ? Использование memcpy работает, но каким-то образом я не хочу использовать этот подход.

Код: Выделить всё

#include 
#include 
#include 

using bar = struct bar
{
int  x;
char y;
};

auto main() -> int
{
std::array foo;

bar myBar [3] = { { 1, 'a'}, { 2, 'b'}, {3, 'c'} };

//  Compiler error "Invalid array assigment" - comment it to get an executable file.
foo [0] = myBar;

// This works and foo [0] has also the correct content
memcpy( foo [0], myBar, sizeof(myBar) );

for ( auto const & fooBar : foo [0] ) {
printf( "x=%d - y=%c\n", fooBar.x, fooBar.y );
}

return 0;
}
Полный рабочий mre:

https://onlinegdb.com/fdmywcfnus

Подробнее здесь: https://stackoverflow.com/questions/797 ... assignment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»