![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
boostcoder, если задекларировать раньше, то она ведь работает. http://liveworkspace.org/code/702e65089983...9615fb52762eb00 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вот как это дело организовано в проекте:
http://liveworkspace.org/code/217bf61f3fc5...d67bad0729fa6b7 я так понимаю: компилятор знает про специализированный шаблон type еще ДО того как он понимает где эту специализацию использовать. так же, к моменту когда он это понимает, он уже и знает о функции apply(). но почему он говорит? :
Это сообщение отредактировал(а) boostcoder - 8.8.2011, 12:49 |
||||
|
|||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
в 26`ой строке.
ведь компилятор только при нахождении соответствующей специализации пытается вызвать функцию. или что? Добавлено через 4 минуты и 45 секунд azesmcar, смотри такой пример:
http://liveworkspace.org/code/fcd5aff8eff3...fe2744c0a621bf3 я всего лишь переименовал free-функцию, и проблема решилась. так что тут проблема не в том где функция объявлена. Добавлено через 5 минут и 26 секунд и попробуй любую из единиц изменить на нолик. Добавлено через 6 минут и 12 секунд т.е. проблема по всей видимости в том, что имя free-функции совпадает с именем статической функции члена. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
придется переименовывать
|
|||
|
||||
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
кстати, если указать что функция в глобальном неймспейсе, то так же говорит:
Это сообщение отредактировал(а) boostcoder - 8.8.2011, 14:01 |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
я б не спешил.. интуиция настойчиво шепчет, что подобный прием может привести к нежелательным последсвиями.. и в частности к разным инстанциям при одних и тех же шаблонных аргументах, но разном окружающем контексте.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
рефакторинг очень часто имеет такие последствия |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
в общем, переменовал статическую функцию член. оказалось все не так страшно.
всем спасибо. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |