c++ primer plus第6版练习题9 问题求组
题目为:结构CandyBar保护3个成员,第一个是存储糖果品牌,第二个是存储糖果重量,第三个是存储糖果卡路里含量。现在是编写一个程序,创建一个使用new的动态分配数组,该数组为包含3个元素的CandyBa数组,然后初始化各个元素,并显示出来。 大概就是这么个意思。
我写的代码:
#include<iostream>
int main()
{
using namespace std;
struct CandyBar
{
char name[30];
double weight;
int calorie;
};
CandyBar *snack=new CandyBar[3];
snack[0]{"third",2.7,5};
cout <<snack[0].name <<snack[0].calorie <<snack[0].weight ;
cout <<snack[1].calorie <<snack[1].name <<snack[1].weight ;
cout <<snack[2].calorie <<snack[2].name <<snack[2].weight ;
delete [] snack;
return 0;
}
问题就是 在,建立动态指针数组后, 怎么给 snack赋值。我的理解是此snack是个指针数组,那个就可以使用指针数组的赋值方法,即 snack[0]表示第一个元素,可以直接给赋值。 但是编译器 看见赋值符合就是那个大括号就 报错,
高人指点指点,迷茫啊,没搞懂为什么就不行呢。