Index: /BasicCompiler32/NumOpe.cpp
===================================================================
--- /BasicCompiler32/NumOpe.cpp	(revision 34)
+++ /BasicCompiler32/NumOpe.cpp	(revision 35)
@@ -220,5 +220,7 @@
 						CClass *pobj_Class;
 						pobj_Class=(CClass *)lpBaseIndex;
-						if(IsStringSubsituation(pobj_Class)){
+						TYPEINFO BaseTypeInfo = {BaseType,lpBaseIndex};
+						if(IsStringSubsituation(pobj_Class)
+							|| IsStringObjectType(&BaseTypeInfo)){
 							//要求タイプがオブジェクトであり、Stringの受け入れが可能な場合
 
Index: /BasicCompiler64/NumOpe.cpp
===================================================================
--- /BasicCompiler64/NumOpe.cpp	(revision 34)
+++ /BasicCompiler64/NumOpe.cpp	(revision 35)
@@ -244,5 +244,7 @@
 						CClass *pobj_Class;
 						pobj_Class=(CClass *)lpBaseIndex;
-						if(IsStringSubsituation(pobj_Class)){
+						TYPEINFO BaseTypeInfo = {BaseType,lpBaseIndex};
+						if(IsStringSubsituation(pobj_Class)
+							|| IsStringObjectType(&BaseTypeInfo)){
 							//要求タイプがオブジェクトであり、Stringの受け入れが可能な場合
 
Index: /BasicCompiler_Common/NumOpe_GetType.cpp
===================================================================
--- /BasicCompiler_Common/NumOpe_GetType.cpp	(revision 34)
+++ /BasicCompiler_Common/NumOpe_GetType.cpp	(revision 35)
@@ -324,5 +324,6 @@
 					if(pBaseType){
 						if(pBaseType->type==DEF_OBJECT){
-							if(IsStringSubsituation(pBaseType->u.pobj_Class)){
+							if(IsStringSubsituation(pBaseType->u.pobj_Class)
+								|| IsStringObjectType(pBaseType)){
 								//要求タイプがオブジェクトであり、Stringの受け入れが可能な場合
 								extern CClass *pobj_StringClass;
