Что означает, что компилятор использует двухфазный поиск для компиляции класса шаблона?
Двухэтапный поиск - требуется объяснение
Ответ 1
Шаблоны скомпилированы (по крайней мере) дважды:
-
Без Instantiation сам код шаблона проверяется на синтаксис.
Например: любые ошибки синтаксических ошибок, такие как;
и т.д. -
Во время создания экземпляра (когда известен точный тип) код шаблона проверяется снова, чтобы гарантировать, что все вызовы действительны для этого конкретного типа.
Например: шаблон может вызвать вызов функций, которые могут отсутствовать для этого конкретного типа.
Это называется Двухфазным поиском.