Re: Старение кода? - со временем меняется режим доступа к по
От: ZegSoft Россия  
Дата: 15.07.11 05:23
Оценка:
Здравствуйте, Marty, Вы писали:

M> Здравствуйте, коллеги!

M> Есть проект, где-то полгода не трогал. Раньше все компилилось без проблем. В самом проекте с тех пор ничего не менялось, но были кое-какие изменения в зависимостях. Попробовал сейчас скомпилировать — получаю кучу ошибок: cannot access private member declared in class ... в той части кода, которая не трогалась, и которая ну никак не может зависеть, да и не зависит (проверил вроде все) от возможно изменившихся частей. За это время еще изменился комп — перенес все на другой, заново все настроил. Еще из изменившегося — версия wxWidgets, но она не участвует никак в той иерархии классов, где возникают ошибки. Студия одна и та же — 2005. Пока разбираться лень, леплю getter/setter'ы, посмотрю, заработает ли также как и раньше, но что это может быть? Старение кода?

M>ЗЫ Зависимости, которые изменились, в иерархию классов проекта не входят, существуют параллельно.

M>ЗЫЫ Наверно косяк мой какой-то, не может же быть, что код в репозитории со временем "осыпался"
M>ЗЫЫЫ С версиями сторонних библиотек можно попробовать разобраться — поставить ровно тоже, что и в старом окружении стояло, но вот версии моих зависимостей не отследить — они подключались в SVN как external, тут я проморгал момент — не разобрался как, и можно ли зафиксировать проект с нужными версиями externals'ов, из-за чего сам проект старый, а externals'ы новые.

M>Есть идеи?


Как один из вариантов — глюк студии. Несколько раз замечал, что она прекрасно компилирует код, где происходит обращение в закрытым членам класса. А потом после добавления новых классов в один прекрасный момент студия вдруг обнаруживает, что мол нет дружочек, здесь закрытый член класса, к нему обращаться нельзя. Не знаю, что это у нее за особенности такие. Возможно это связано с полным ребилдом проект, а может еще что-то.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.