no match for 'operator=' (operand types are 'CandyBar' and '<brace-enclosed initializer list>')
В ходе изучения языка по книге, при решении очередной задачи, я наткнулся на эту ошибку, понятия не имею, что она означает и как ее исправить... Главное дело, этот код работает в онлайн компиляторе без проблем, а в VS Code возникает ошибка. Подскажите пожалуйста, как ее решить и что делать, чтобы с ней больше не сталкиваться?
#include <iostream>
using namespace std;
struct CandyBar {
char name[30];
float weight;
int calories;
};
int main() {
CandyBar* snack = new CandyBar[3];
snack[0] = {"Mocha Monch", 2.3, 350};
snack[1] = {"Uran", 1.2, 30000000};
snack[2] = {"Barbaris", 1.3, 230};
cout << "Name[0]: " << snack[0].name << " Weight[0]: " << snack[0].weight << " Calories[0]: " << snack[0].calories << endl;
cout << "Name[1]: " << snack[1].name << " Weight[1]: " << snack[1].weight << " Calories[1]: " << snack[1].calories << endl;
cout << "Name[2]: " << snack[2].name << " Weight[2]: " << snack[2].weight << " Calories[2]: " << snack[2].calories << endl;
delete [] snack;
return 0;
}
Источник: Stack Overflow на русском