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

最佳答案

RadioMapmap,它不是指针,您不需要调用new来分配Station,它们甚至不是同一类型。

std::map(或std::multimap)和std::vector具有默认构造函数,它们将在RadioManager中调用

尝试:

RadioManager()
: radio(radio_clock(0))
{
}


另外最好在STL容器中使用智能指针,而不是原始指针,智能指针会自动为您分配内存。

typedef MtmMap<double, std::unique_ptr<Stations>> RadioMap;

07-24 16:30