我在调试程序时遇到麻烦。由于某些奇怪的原因,我无法在链接列表中打印订阅的值。
/*Player.h
#ifndef PLAYER_H
#define PLAYER_H
class Player
{
double subscription; /*value to be stored*/
public:
Player(); /*default constructor*/
Player(double); //double
~Player();
double getSubscription(){ return subscription; }
};
#endif
最佳答案
看来您的问题出在上一行的SoccerClub.cpp中:
player = &Player(subscription); /*store the subscription into player using the constructor*/
这将创建一个Player对象,并将该对象的地址分配给指针播放器,但是在完整表达式的末尾(下一行),此对象超出范围并被破坏。这没有使用您之前通过malloc分配的内存。
删除malloc并使用:
player = new Player(subscription);
只需确保稍后调用delete即可销毁此对象并释放内存。
关于c++ - 链表不打印值?我究竟做错了什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35466987/