次のコンパイラ¹メッセージが表示されます
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;
}
¹gcc4.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]