Index: trunk/abdev/BasicCompiler_Common/error.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/error.cpp	(revision 304)
+++ trunk/abdev/BasicCompiler_Common/error.cpp	(revision 305)
@@ -199,4 +199,5 @@
 	if(num==134) lstrcpy( msg,"ObjPtr関数にはオブジェクト インスタンス以外を指定できません。" );
 	if(num==135) lstrcpy( msg, "クラスまたはインターフェイス以外の型を継承元として指定することはできません。" );
+	if(num==136) lstrcpy( msg, "非仮想関数に対してオーバーライドしようとしました。" );
 
 	//Enum関連
Index: trunk/abdev/BasicCompiler_Common/src/Class.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/src/Class.cpp	(revision 304)
+++ trunk/abdev/BasicCompiler_Common/src/Class.cpp	(revision 305)
@@ -514,21 +514,26 @@
 	BOOST_FOREACH( CMethod *pMethod, pobj_c->GetMethods() ){
 		if( pMethod->GetUserProc().GetName() == temporary ){
-			if( pMethod->GetUserProc().Params().Equals( pUserProc->Params() ) ){
-
-				if(pMethod->IsVirtual()){
-					//メンバ関数を上書き
-					pMethod->SetUserProcPtr( pUserProc );
-					pMethod->Override();
-
-					if( !isOverride ){
-						SetError(127,NULL,nowLine);
-					}
-					if(pMethod->GetAccessibility() != accessibility ){
-						SetError(128,NULL,nowLine);
-					}
-
-					pUserProc->SetMethod( pMethod );
-					return;
-				}
+			if( pMethod->GetUserProc().Params().Equals( pUserProc->Params() ) )
+			{
+				//メンバ関数を上書き
+				pMethod->SetUserProcPtr( pUserProc );
+				pMethod->Override();
+
+				if( !pMethod->IsVirtual() )
+				{
+					// オーバーライドミス
+					SetError(136,NULL,cp);
+				}
+				if( !isOverride )
+				{
+					SetError(127,NULL,nowLine);
+				}
+				if(pMethod->GetAccessibility() != accessibility )
+				{
+					SetError(128,NULL,nowLine);
+				}
+
+				pUserProc->SetMethod( pMethod );
+				return;
 			}
 		}
Index: trunk/abdev/BasicCompiler_Common/src/Source.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/src/Source.cpp	(revision 304)
+++ trunk/abdev/BasicCompiler_Common/src/Source.cpp	(revision 305)
@@ -4,4 +4,5 @@
 
 #include <jenga/include/common/Directory.h>
+#include <jenga/include/common/Path.h>
 
 #include <jenga/include/smoothie/Smoothie.h>
@@ -616,5 +617,9 @@
 			else continue;
 
-			if(i){
+			if( i == 0 && Jenga::Common::Path(temporary).GetFileName() == "basic" )
+			{
+			}
+			else
+			{
 				//ディレクティブが消えるため、一行減ってしまうのを防ぐ（basic.sbpを除く）
 				Text::SlideString(buffer+i2,1);
