Я получаю следующее сообщение компилятора¹
main.cpp: In instantiation of ‘void fkt(Foo) [with Foo = int]’:
main.cpp:5:7: required from here
В любом случае создается двоичный файл, поэтому это не ошибка. Но это также не помечены как предупреждение. Что это за сообщение и почему я его получаю?
Я сократил код до следующего примера
template <typename Foo>
void fkt(Foo f) {}
int main() {
fkt(1);
return 0;
}
¹ gcc 4.7.2
РЕДАКТИРОВАТЬ: Здесь шаги для воспроизведения:
% cat main.cpp
template <typename Foo>
void fkt(Foo f) {}
int main() {
fkt(1);
return 0;
}
% g++ -Wall -Wextra main.cpp
main.cpp: In instantiation of ‘void fkt(Foo) [with Foo = int]’:
main.cpp:5:7: required from here
main.cpp:2:6: warning: unused parameter ‘f’ [-Wunused-parameter]