C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: templateクラス内のstaticメンバ初期化


(過去ログ 75 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■44187 / inTopicNo.1)  templateクラス内のstaticメンバ初期化
  
□投稿者/ えす (1回)-(2009/12/01(Tue) 12:13:06)

分類:[C/C++] 

c++で、templateクラス内のtemplateクラスstaticメンバ変数を
初期化する方法がわからず困っております。


template <typename T>
class Hoge
{
	template< typename T2 >
	class StaticC
	{
		static int id_;		
	};
};

このとき Hoge::StaticC::id_ に初期値を入れたいのですが、
どう書けばよいのでしょうか。

ご存じの方おられましたら、ご教授いただけると助かります。
よろしくお願いします。

引用返信 編集キー/
■44188 / inTopicNo.2)  Re[1]: templateクラス内のstaticメンバ初期化
□投稿者/ επιστημη (2294回)-(2009/12/01(Tue) 12:18:49)
επιστημη さんの Web サイト
えーと...こんなもん?

#include <iostream>

template <typename T1>
struct Hoge {
  template< typename T2 >
  struct StaticC
  {
    static int id_;		
  };
};

template<typename T1>
template<typename T2>
int Hoge<T1>::StaticC<T2>::id_ = sizeof(T1) * sizeof(T2);

int main() {
  std::cout << Hoge<int>::StaticC<long>::id_ << std::endl;
}

引用返信 編集キー/
■44189 / inTopicNo.3)  Re[2]: templateクラス内のstaticメンバ初期化
□投稿者/ えす (2回)-(2009/12/01(Tue) 12:23:55)
επιστημη様ご回答ありがとうございます。

バッチリ初期化できました。

助かりました。
ありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -