template <typename TAG>
fn(int left, TAG, int right)
{
}
fn(0, some_type_tag(), 1);
/* or */
fn(0,int(), 1); // where the primitive, int, is not empty.
РЕДАКТИРОВАТЬ: В этом вопросе есть две перспективы.
- Объявление функции vs определение. Объявление может не указывать параметр, но объявление может сделать. Это не перспектива интереса.
- Шаблон просматривается, в частности, в метапрограммировании. Параметр В вопросе используется тег, используемый для выведения метаструктуры из свойства. Вот почему параметр не указан, мне все равно, информация о времени компиляции - тип тега.
/EDIT
Мои теги, как правило, представляют собой пустые структуры, однако в некоторых частях моего кода они являются typedefs примитивных типов. Поэтому мне интересно узнать, действительно ли современные компиляторы передадут параметр. Это имеет два аспекта.
- Определение размера стека с учетом размера неименованного типа параметров.
- На самом деле создаем стек с переданным значением.
Позволяет сохранить его в gcc 4.5 и msvc 2008 +