class RadioManager {
typedef MtmMap<double, Stations*> RadioMap;
typedef RadioMap::Pair RadioPair;
typedef RadioMap::iterator RadioMapIter;
RadioMap radio;
std::vector<Song> all_songs;
unsigned long radio_clock;
int findSong(const string& author, const string& name);
void checkTime();
void updateCurrent();
public:
~RadioManager();
RadioManager() :
radio(new Stations()), all_songs(), radio_clock(0) {
}
Staions是具有继承类的基类。
我在构造函数中出现错误...
谁能帮我建造一个?
请注意,收音机是一个地图,其值是class
最佳答案
RadioMap
是map,它不是指针,您不需要调用new
来分配Station,它们甚至不是同一类型。
std::map(或std::multimap)和std::vector具有默认构造函数,它们将在RadioManager中调用
尝试:
RadioManager()
: radio(radio_clock(0))
{
}
另外最好在STL容器中使用智能指针,而不是原始指针,智能指针会自动为您分配内存。
typedef MtmMap<double, std::unique_ptr<Stations>> RadioMap;