Информация об изменениях

Сообщение Re[5]: Список целых на этапе компиляции с проверкой от 27.12.2017 12:08

Изменено 27.12.2017 12:32 rg45

Re[5]: Список целых на этапе компиляции с проверкой
Здравствуйте, Marty, Вы писали:

W>>Общее направление: пусть "использование" инстанциирует экземпляр примерно такой переменной: template <int n> int once = -1;, где значение параметра шаблона (это, кстати, не обязательно int) зависит от типа ресурса (или прямо им и является).

W>>Тогда, хотя все единицы трансляции и скомпилируются успешно, линкер не сможет собрать программу, если в ней будут совпадения.

M>Спасибо, идея годная


Сразу обрати внимание на ограничение: такие специализации можно сделать либо в том же, либо в обрамляющем пространстве имен (с явной спецификацией пространства имен). Если окажется, что "использование" происходит в каком-то несвязанном пространстве имен, то это серьезно осложняет задачу, если вообще делает возможной.
Re[5]: Список целых на этапе компиляции с проверкой
Здравствуйте, Marty, Вы писали:

W>>Общее направление: пусть "использование" инстанциирует экземпляр примерно такой переменной: template <int n> int once = -1;, где значение параметра шаблона (это, кстати, не обязательно int) зависит от типа ресурса (или прямо им и является).

W>>Тогда, хотя все единицы трансляции и скомпилируются успешно, линкер не сможет собрать программу, если в ней будут совпадения.

M>Спасибо, идея годная


Сразу обрати внимание на ограничение: такие специализации можно сделать либо в том же, либо в обрамляющем пространстве имен (с явной спецификацией пространства имен). Если окажется, что "использование" происходит в каком-то несвязанном пространстве имен, то это серьезно осложняет задачу.