C++ 类值映射的构造函数 类无线电管理器{ typedef MtmMap无线地图; typedef RadioMap::Pair RadioPair; typedef RadioMap::迭代器RadioMapIter; 无线电地图无线电; std::矢量所有歌曲; 无符号长无线电时钟; int findSong(常量字符串和作者、常量字符串和名称); void checkTime(); void updateCurrent(); 公众: ~RadioManager(); RadioManager(): 收音机(新电台()),所有歌曲(),收音机时钟(0){ }
Staions是一个继承了类的基类 我在构造函数中得到错误。。。 有人能帮我建一个吗? 请注意,Radio是一个地图,其值为classC++ 类值映射的构造函数 类无线电管理器{ typedef MtmMap无线地图; typedef RadioMap::Pair RadioPair; typedef RadioMap::迭代器RadioMapIter; 无线电地图无线电; std::矢量所有歌曲; 无符号长无线电时钟; int findSong(常量字符串和作者、常量字符串和名称); void checkTime(); void updateCurrent(); 公众: ~RadioManager(); RadioManager(): 收音机(新电台()),所有歌曲(),收音机时钟(0){ },c++,class,map,vector,constructor,C++,Class,Map,Vector,Constructor,Staions是一个继承了类的基类 我在构造函数中得到错误。。。 有人能帮我建一个吗? 请注意,Radio是一个地图,其值为classRadioMap是,它不是指针,您不需要调用new来分配电台,它们甚至不是相同的类型 (或)并具有默认构造函数,它们将在RadioManager中调用 尝试: 另外,最好在STL容器中使用智能指针,而不是原始指针,智能指针将自动为您释放内存 RadioManager() : radio(radio_clock(0)) { } typedef MtmMap无线
RadioMap
是,它不是指针,您不需要调用new
来分配电台,它们甚至不是相同的类型
(或)并具有默认构造函数,它们将在RadioManager中调用
尝试:
另外,最好在STL容器中使用智能指针,而不是原始指针,智能指针将自动为您释放内存
RadioManager()
: radio(radio_clock(0))
{
}
typedef MtmMap无线地图;
什么是MtmMap
?是std::map
还是std::multimap
?初始值设定项列表包含初始化电台(新电台()
。无线电
成员变量被声明为类型MtmMap
,您正试图用指向类型Stations
的对象的指针初始化它。它不可能工作。andy prowl,我得到了您的点,MtmMap是一个键为双精度值为Stations*的映射,这是一个类……您能告诉我如何初始化它吗把它序列化好吗?我就是找不到这样做的方法,很抱歉没有工作..我得到了这个错误:没有匹配函数用于调用-mtm::MtmMap::MtmMap()–没有匹配函数用于调用-mtm::MtmMap::MtmMap()–什么是MtmMap
,你能尝试用std::map替换它吗?参见示例代码:
RadioManager()
: radio(radio_clock(0))
{
}
typedef MtmMap<double, std::unique_ptr<Stations>> RadioMap;