Index: trunk/ab5.0/abdev/BasicCompiler_Common/calculation.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/calculation.cpp	(revision 671)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/calculation.cpp	(revision 672)
@@ -492,5 +492,5 @@
 							return false;
 						}
-						i64nums[pnum] = tempType.GetSize();
+						i64nums[pnum] = compiler.SizeOf( tempType );
 						StrPtr[pnum]=0;
 					}
Index: trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h	(revision 671)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h	(revision 672)
@@ -190,4 +190,7 @@
 	bool StringToType( const std::string &typeName, Type &type );
 	const std::string TypeToString( const Type &type );
+
+	// ジェネリック型の型パラメータ解決をサポートした上でSizeOf関数の戻り値を取得する
+	int SizeOf( const Type &type );
 
 	void ClearCompilingUserProcAndClass();
Index: trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp	(revision 671)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp	(revision 672)
@@ -351,4 +351,21 @@
 }
 
+int Compiler::SizeOf( const Type &type )
+{
+	Type tempType( type );
+	if( this->IsCompilingClass() )
+	{
+		if( this->pCompilingClass->IsExpanded() && tempType.IsTypeParameter() )
+		{
+			// 現在コンパイル中のクラスがテンプレート展開済みのクラスで、
+			// 尚且つターゲットとなる型が型パラメータだったとき
+
+			// テンプレート展開情報を用いて型解決を行う
+			this->pCompilingClass->ResolveExpandedClassActualTypeParameter( tempType );
+		}
+	}
+	return tempType.GetSize();
+}
+
 void Compiler::ClearCompilingUserProcAndClass()
 {
Index: trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp	(revision 671)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp	(revision 672)
@@ -1440,9 +1440,10 @@
 		_class.GetClassType(),
 		_class.GetFormalGenericTypes(),
-		actualTypes,
+		_class.GetSuperClassActualTypeParameters(),
 		_class.GetConstructorMemberSubIndex(),
 		_class.GetDestructorMemberSubIndex(),
 		0,
-		_class.GetFixedAlignment()
+		_class.GetFixedAlignment(),
+		actualTypes
 	);
 
