![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
alexsid1982 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 19.3.2008 Репутация: нет Всего: нет |
Товарищи я в шоке. После многих попыток понять в чем я сдаюсь.
имеем класс
Проблема в том что CStaticTable::mem нигде в классе не определен. В базовом классе его тоже нет.
никаких #define для mem тоже не обнаружено. Очевидно что CStaticTable::mem должен быть T CStaticTable::table[N::eAmount] Теперь парадокс. Код компилируется на VC 6.0 но на VS 2005 компилироваться отказывается. Кто может объяснить??? Это сообщение отредактировал(а) alexsid1982 - 19.3.2008, 15:57 |
||||
|
|||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
ты скопировал с компилера?
тогда как компилится
??? Добавлено через 1 минуту и 54 секунды и второе. что будет в VS 6.0 если написать (после строки с qsort): а. CStaticTable::mem; б. CStaticTable<N, T>::mem; в. mem; ? |
|||
|
||||
alexsid1982 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 19.3.2008 Репутация: нет Всего: нет |
по первому - моя ошибка
по второму в VC все работает на ура в VS 2005 ничего не работает Вот такая ошибка Error 15 error C2039: 'mem' : is not a member of 'CStaticTable<N,T>' 367 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
А ты случаем не пытаешься этот шаблон во втором случае использовать? А то умные книжки по шаблонам говорят, что компилятор проверяет их только на соответствие синтаксису, если они не используются.
|
|||
|
||||
alexsid1982 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 19.3.2008 Репутация: нет Всего: нет |
Так он и в первом случае используется...
Смысл в том, что один и тот же код на VC6.0 компилируется, а на VS2005 не компилируется. Вот что расстраивает. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Можо полный код или сцылку, откуда сие?
|
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
А чего удивляться, компиляторы-то разные. 6й был более всеядным и некоторые баги прощал. А 2003 (и последующие) лучше диагностирует, вот и все. -------------------- ... |
|||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
ничего себе "некоторые баги"... сам по себе переменные в классы добавлять... ![]() думаю, что проблема в том, что у тебя 2 класса CStaticTable определено. Твой и стандартный. И они как-то пересекаются А в VS2005 стандартный убрали или отсунули куда-то |
|||
|
||||
Dennnis |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 23.3.2008 Репутация: нет Всего: 4 |
А объект класса template<class N, class T> class CStaticTable где-нибудь создается? Просто тела методов шаблонных классов не проверяются при компиляции если не создан объект этого класса.
--------------------
Get Rich or Die Tryin' |
|||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
||||
|
||||
alexsid1982 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 19.3.2008 Репутация: нет Всего: нет |
забил на попытки понять в чем смысл...
Переделал на использование T CStaticTable::table[N::eAmount] Вроде работает ![]() ЗЫ: Вариант с двумя классами не прокатил.... Код тоже предоставить не можно... Полный код весит очень много + проект закрытый... Это сообщение отредактировал(а) alexsid1982 - 31.3.2008, 14:38 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |