| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Unresolved external для статического члена класса |
| Автор: cia 7.8.2008, 13:44 | ||
Кажется туплю страшно, но что-то не допираю чем не нравится статический член класса...
Линковщик ругается: [Linker Error] Unresolved external 'T::i' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ |
| Автор: mes 7.8.2008, 13:51 | ||||
или
|
| Автор: mrbrooks 7.8.2008, 14:09 |
| статическую переменную можно не инициализировать. достаточно описать вне класса. |
| Автор: mrbrooks 7.8.2008, 14:19 | ||||
я тебе и говорю про член класса.
Добавлено через 4 минуты и 59 секунд использовать соответсвенно
есесно если класс создаешь в отдельном файле - сий файл надо заинклюдить к реализации. |
| Автор: cia 7.8.2008, 15:32 |
| А... все разобрался, спасибо за помощь. Я не написал int T::i; вне класса. Думал, вообще-то что этого не требуется. |
| Автор: mes 7.8.2008, 15:32 | ||
потому что у каждой статической переменной должно быть свое место.. При описании ее в классе , линковшик не знает куда "лучше" поместить переменную, ну а каждый метод в реале является статической функцией со скрытым параметром this, т. е. определеная внутри метода статическая переменная имеет свое вполне определенное место.. |
| Автор: mrbrooks 7.8.2008, 15:35 | ||
Короче говоря:
|