私は、次のcompiler¹メッセージ「ここから必要な...のインスタンス化」とは何を意味していますか?
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
EDIT¹次の例にコードを削減:再現するここでの手順:
% 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]
※一部エラーです。周囲のメッセージを見逃してしまった。 –
私はあなたがコードを減らしたときにエラーを削除したと思います。 [here](http://ideone.com/qx5yxF)を参照してください。エラーを再現する例を提供してください。 – juanchopanza
問題のコードは有効であり、エラー/警告なしでコンパイルする必要があります。あなたが指しているメッセージは大きなメッセージの一部です。前の行には警告/エラーが含まれています。これはコンパイラがその警告/エラーにどのように入ったかを説明し続けます –