skvor Опубликовано 27 января, 2009 Жалоба Поделиться Опубликовано 27 января, 2009 class CCookie { private: ............... void Set(const std::string &Name,const std::string &Value,const long MaxAge=whileOpen) { if (Value.size()>0 && MaxAge) CookieMap[Name]=Value; else { StrMap::iterator i=CookieMap.find(Name); if (i!=CookieMap.end()) CookieMap.erase(i); } OutStr+="Set-Cookie: "+Name+'='+(Value.size() ?(Name==LoginMark() || Name==PasswordMark()) ?CCript::Coder(rand(),Value):Value:"x") +(MaxAge==whileOpen?_:"; Max-Age="+inttostr(MaxAge)) +'\n'; RefreshMap[Name]=true; } public: static const long week4=3600*24*7*4; static const long year4=week4*52; static const long whileOpen=-1; ................ } Cookie; "Раньше все работало". После замены FreeBSD 6 на 7 перестала компилироваться программуля.g++ index.cpp -oindex.cgi при линковке сообщает об отсутствии CCookie::week4, CCookie::year4 и CCookie::whileOpen. Пришлось константы вынести за пределы класса. Язык знаю плохо и в компиляции не разбираюсь, но очень хочется докопаться до причин. Спасибо. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.