次は、MSVC++ 10 Sp1の「内部コンパイラエラー」です。部分的および明示的テンプレート特殊化の奇妙なエラー
とGCCの:
b.cpp:16:12:エラー:28:16:エラー:非名前空間スコープ内の明示的な特殊化
b.cpp ':: Bをストラクト'主なテンプレートの宣言では、テンプレート-ID「F」
//class template
template< class T>
struct A{
//struct B {}; //Remove the comment and it will compile!
};
//partial specialization
template< class T >
struct A< T* >
{
struct B {
template<class C> void f(){}
//"Internal Compiler Error"
template<> void f<int>(){};
};
};
struct B
前のコメントが削除された場合しかし、それがコンパイルされます!
私は問題を理解していません!
まず、それをコンパイルすることになっていません。そしてあなたはバグレポートを提出することになっています。ここに質問はありません。ソースがないコードでバグを説明することはできません。 –
これも削除されたコメントとともにコンパイルすべきではありません。 –
テンプレートクラスのテンプレート関数を明示的に特殊化するための[C++構文]の複製がありますか?](http://stackoverflow.com/questions/2097811/c-syntax-for-explicit-specialization-of-a-template-function -in-a-template-clas) –