0
は私の問題です:入れ子になったテンプレートの特殊化中に入れ子になったテンプレートクラスの静的メンバーを初期化していますか?ここ
template<typename T>
class Outer
{
public:
template<typename U>
class Inner
{
private:
static int count;
};
static int code;
void print() const
{
std::cout << "generic";
}
};
template<>
template<>
class Outer<bool>::Inner<bool>
{
static int count;
};
template<>
template<>
int Outer<bool>::Inner<bool>::count = 4; // ERROR
私はそれを正しく初期化するにはどうすればよいですか?
こんにちはildjarn、ビジュアルスタジオにコードを貼り付け、エラーが発生しています:**エラーC2906: 'int外部 ::インナー ::カウント':明示的な特殊化には 'テンプレート<>'が必要です**あなたはexplplainできますか? –
codekiddy
@codekiddy:VC++ 2010 SP1でこの正確なコード(プラス '#include')をエラーなしでテストしました。また、[GCC 4.3.4](http://ideone.com/gvICi)と[GCC 4.5.1](http://ideone.com/fdyQW)でも動作します。 VC++のどのバージョンを使用していますか? (そして、エラーメッセージは間違いなく、あなたが 'Outer :: Inner :: count 'ではなく' Outer :: Inner :: count'について不平を言っているので、私のコードを何とか変更したことを意味します) –
ildjarn
Visual Studio 11 Betaプラットフォームtoolseet V110 :) – codekiddy