| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > линкер не находит переменную класса |
| Автор: _hunter 25.5.2006, 16:41 | ||||
| Добрый день. Помогите разобраться. Есть такой:
при попытке это дело собрать линкер кричит:
Как это побороть? С уважением... |
| Автор: likehood 25.5.2006, 16:56 | ||
а есть ли объявление:
? |
| Автор: _hunter 25.5.2006, 17:05 |
| в смысле? а четвертая строка это что? |
| Автор: likehood 25.5.2006, 17:08 |
| на сколько я знаю, статические переменные принадлежат всему классу и потому должны определяться отдельно, как обычные глобальные переменные. |
| Автор: _hunter 25.5.2006, 17:11 |
| а кодом продемонстрировать можно? |
| Автор: likehood 25.5.2006, 17:17 | ||
|
| Автор: thealx 25.5.2006, 17:19 | ||||||
|
| Автор: _hunter 25.5.2006, 17:26 |
| хм... работает. оригинально... |
| Автор: likehood 25.5.2006, 17:29 |
| А иначе и быть не может. Что если статическая переменная является объектом класса? Как вызвать ее конструктор? Какие ему передать параметры? |
| Автор: Earnest 25.5.2006, 17:37 |
| _hunter, статические данные класса - это на самом деле глобальные переменные, разница только в области видимости, а storage тот же. Поэтому для них действуют те же правила, что и для глобальных переменных: объявлений может быть несколько, но обязательно нужно ровно одно определение. |
| Автор: _hunter 25.5.2006, 17:45 |
| в конструторе-контейнере и передавать нужные параметры... в шарпе оно как-то логичнее... |
| Автор: mostly 25.5.2006, 17:49 |
| У меня эту ошибку выдаёт g++, а у Borland C++ Compiler 5.5 всё нормально компилируется. |
| Автор: likehood 25.5.2006, 18:05 |
а ты создавал объекты класса Test? Если нет, то оно может и откомпилиться. |
| Автор: mostly 25.5.2006, 18:31 | ||||
Да, создавал:
|
| Автор: DeadSoul 25.5.2006, 21:49 | ||
А обращался к этой переменной? |
| Автор: mostly 25.5.2006, 22:31 | ||
Нет, не обращался. Сейчас попробовал , и Borland C++ 5.5.1 выдал ошибку: Error: Unresolved external 'Test::test' referenced from AAA.OBJ |