请问:用new动态分配结构数组的赋值有关问题
请教:用new动态分配结构数组的赋值问题
//C++ Primer Plus(第五版)练习题 关于用new 动态分配结构数组的问题
//p110 6.结构CandyBar包含3个成员,如编程练习5所示.
//请编写一个程序,创建一个程序,创建一个包含3个元素的
//CandyBar数组,并将它们初始化为所选择的值,然后显示每个结构的内容.
//完成编程练习6,但使用new来动态分配数组,而不是声明一个包含3个元素的CandyBar数组.
#include <iostream>
const MAX=20;
using namespace std;
struct CandyBar
{
char brand[MAX];
double weight;
int calorie;
};
int main()
{
CandyBar *snack = new CandyBar [3]= //是不是这里出现了问题,不能在分配时赋值?
//还是我用new用错了
{ //22行
{ "liudongming " , 12.2 , 55 }, //23行
{ "liudehua " , 54.6 , 42 }, //24行
{ "dell " , 45.2 , 31 } //25行
};
for(int i=0;i <3;i++)
{
cout < <snack[i].brand < <endl
< <snack[i].weight < <endl
< <snack[i].calorie < <endl < <endl;
}
delete [] snack; //这将释放snack指向的内存,但不会删除指针本身.
return 0;
}
出错信息:--------------------Configuration: 4_110_9 - Win32 Debug--------------------
Compiling...
new_array.cpp
......(22) : error C2059: syntax error : '{ '
......(22) : error C2143: syntax error : missing '; ' before '{ '
......(23) : error C2143: syntax error : missing '; ' before '} '
......(23) : error C2143: syntax error : missing '; ' before ', '
......(24) : error C2143: syntax error : missing '; ' before '{ '
......(24) : error C2143: syntax error : missing '; ' before '} '
......(24) : error C2143: syntax error : missing '; ' before ', '
......(25) : error C2143: syntax error : missing '; ' before '{ '
......(25) : error C2143: syntax error : missing '; ' before '} '
执行 cl.exe 时出错.
new_array.obj - 1 error(s), 0 warning(s)
//C++ Primer Plus(第五版)练习题 关于用new 动态分配结构数组的问题
//p110 6.结构CandyBar包含3个成员,如编程练习5所示.
//请编写一个程序,创建一个程序,创建一个包含3个元素的
//CandyBar数组,并将它们初始化为所选择的值,然后显示每个结构的内容.
//完成编程练习6,但使用new来动态分配数组,而不是声明一个包含3个元素的CandyBar数组.
#include <iostream>
const MAX=20;
using namespace std;
struct CandyBar
{
char brand[MAX];
double weight;
int calorie;
};
int main()
{
CandyBar *snack = new CandyBar [3]= //是不是这里出现了问题,不能在分配时赋值?
//还是我用new用错了
{ //22行
{ "liudongming " , 12.2 , 55 }, //23行
{ "liudehua " , 54.6 , 42 }, //24行
{ "dell " , 45.2 , 31 } //25行
};
for(int i=0;i <3;i++)
{
cout < <snack[i].brand < <endl
< <snack[i].weight < <endl
< <snack[i].calorie < <endl < <endl;
}
delete [] snack; //这将释放snack指向的内存,但不会删除指针本身.
return 0;
}
出错信息:--------------------Configuration: 4_110_9 - Win32 Debug--------------------
Compiling...
new_array.cpp
......(22) : error C2059: syntax error : '{ '
......(22) : error C2143: syntax error : missing '; ' before '{ '
......(23) : error C2143: syntax error : missing '; ' before '} '
......(23) : error C2143: syntax error : missing '; ' before ', '
......(24) : error C2143: syntax error : missing '; ' before '{ '
......(24) : error C2143: syntax error : missing '; ' before '} '
......(24) : error C2143: syntax error : missing '; ' before ', '
......(25) : error C2143: syntax error : missing '; ' before '{ '
......(25) : error C2143: syntax error : missing '; ' before '} '
执行 cl.exe 时出错.
new_array.obj - 1 error(s), 0 warning(s)