Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.149.243.130] |
|
Сообщ.
#1
,
|
|
|
#include <map> namespace Nginx { template<typename T> class Cache { public: struct CacheInfo { time_t lastUpdate; T bannerCode; CacheInfo():lastUpdate(0){} CacheInfo(T code){...} CacheInfo(time_t t, T code){...} CacheInfo(const CacheInfo& val){...} CacheInfo& operator=(const CacheInfo& val){...} }; typedef std::pair<int, CacheInfo> CachePair; typedef std::map<int, CacheInfo> CacheMap; private: CacheMap m_BannerMap; size_t m_Limit; time_t m_MaxTime; public: Cache(size_t limit = 100, time_t maxtime = 600) : m_Limit(limit), m_MaxTime(maxtime) {} ~Cache(void) {} void SetSize(size_t limit) { m_Limit = limit; } void SetTimeout(time_t maxtime) { m_MaxTime = maxtime; } T Get(int bannerID) { CacheMap::iterator it = m_BannerMap.find(bannerID); // error return it->second.bannerCode; } bool Set(int bannerID, T bannerCode) { CacheMap::iterator it = m_BannerMap.find(bannerID); // error ///... } }; } Данный код компилится на VC++ отлично, g++ выдает такие ошибки /.../bannercache.h:...: error: expected `;' before ‘it’ в чем может быть проблема? |
Сообщ.
#2
,
|
|
|
typename CacheMap::iterator it = m_BannerMap.find(bannerID); // Ошибки не должно быть |
Сообщ.
#3
,
|
|
|
Спасибо, помогло
|