这个程序那里错了
#include <iostream>
struct fish
{
char kind[20];
int weight;
double length;
};fish describe;
int main()
{
using namespace std;
fish describe =
{
"catfish",
5,
30.7,
};
fish * ps = new fish;
cout<<"kind:"<<ps->kind<<" "
<<"weight:"<<ps->weight<<" "
<<"length:"<<ps->length<<endl;
delete ps;
return 0;
}
[解决办法]
int 是整数型,
int main()
{
using namespace std;
fish describe =
{
"catfish",
5,
30.7,
};
中30.7与int不符。
[解决办法]
fish describe;//你即定义一个全局对象,又定义一个局部对象,然后又在堆上new一个fish类型的对象,你这里是想表达一个什么意思呢?
[解决办法]
因为你定义ps后,没有赋初值
可以这么改
//fish * ps = new fish;
fish * ps =& describe;
cout<<"kind:"<<ps->kind<<" "
<<"weight:"<<ps->weight<<" "
<<"length:"<<ps->length<<endl;
//delete ps;
[解决办法]
ps创建后没初始化啊,里面存的还是一堆垃圾