Index: BasicCompiler_Common/common.h
===================================================================
--- BasicCompiler_Common/common.h	(revision 44)
+++ BasicCompiler_Common/common.h	(revision 45)
@@ -578,5 +578,5 @@
 void SetError(int ErrorNum,const char *KeyWord,int pos);
 void CompileMessage(char *buffer);
-void CheckDifferentType(int VarType,LONG_PTR lpVarIndex,int CalcType,LONG_PTR lpCalcIndex,char *pszFuncName,int ParmNum);
+bool CheckDifferentType(int VarType,LONG_PTR lpVarIndex,int CalcType,LONG_PTR lpCalcIndex,char *pszFuncName,int ParmNum);
 
 //Compile.cpp
Index: BasicCompiler_Common/error.cpp
===================================================================
--- BasicCompiler_Common/error.cpp	(revision 44)
+++ BasicCompiler_Common/error.cpp	(revision 45)
@@ -393,13 +393,14 @@
 	if(iWarning==1) SetError(-101,temporary,cp);
  	else if(iWarning==2) SetError(-102,temporary,cp);
+ 	else if(iWarning==3) SetError(50,temporary,cp);
 }
 
-void CheckDifferentType(int VarType,LONG_PTR lpVarIndex,int CalcType,LONG_PTR lpCalcIndex,char *pszFuncName,int ParmNum){
+bool CheckDifferentType(int VarType,LONG_PTR lpVarIndex,int CalcType,LONG_PTR lpCalcIndex,char *pszFuncName,int ParmNum){
 
 	if(VarType==DEF_OBJECT||CalcType==DEF_OBJECT){
 		//オブジェクトインスタンスの場合
 		if(!(VarType==CalcType&&lpVarIndex==lpCalcIndex)){
-			DifferentTypeError(VarType,lpVarIndex,CalcType,lpCalcIndex,2,pszFuncName,ParmNum);
-			return;
+			DifferentTypeError(VarType,lpVarIndex,CalcType,lpCalcIndex,3,pszFuncName,ParmNum);
+			return false;
 		}
 	}
@@ -407,5 +408,5 @@
 	//#strictが指定されていないときは型チェックを行わないようにする
 	extern BOOL bStrict;
-	if(bStrict==0) return;
+	if(bStrict==0) return true;
 
 	if(CalcType&FLAG_PTR){
@@ -421,20 +422,20 @@
 		if(IsPtrType(VarType)&&lpCalcIndex==LITERAL_NULL){
 			//リテラルNULL値の場合
-			return;
+			return true;
 		}
 
 		if(VarType==DEF_PTR_VOID){
 			//左辺がVoidPtr型の場合は、ポインタ型すべてを受け入れる
-			if(IsPtrType(CalcType)) return;
+			if(IsPtrType(CalcType)) return true;
 		}
 
 		if(CalcType==DEF_PTR_VOID){
 			//右辺がVoidPtr型の場合は、ポインタ型すべてを受け入れる
-			if(IsPtrType(VarType)) return;
+			if(IsPtrType(VarType)) return true;
 		}
 
 		if(VarType!=CalcType){
 			DifferentTypeError(VarType,lpVarIndex,CalcType,lpCalcIndex,2,pszFuncName,ParmNum);
-			return;
+			return true;
 		}
 
@@ -449,9 +450,9 @@
 					if(lpVarIndex==(LONG_PTR)pobj_tempClass){
 						//継承先が等しいとき
-						return;
+						return true;
 					}
 				}
 				DifferentTypeError(VarType,lpVarIndex,CalcType,lpCalcIndex,2,pszFuncName,ParmNum);
-				return;
+				return true;
 			}
 		}
@@ -507,3 +508,5 @@
 		}
 	}
+
+	return true;
 }
