Index: BasicCompiler64/Compile_Var.cpp
===================================================================
--- BasicCompiler64/Compile_Var.cpp	(revision 40)
+++ BasicCompiler64/Compile_Var.cpp	(revision 41)
@@ -934,4 +934,9 @@
 	}
 
+
+	///////////////////////////////////////
+	// 単発式（[]で囲まれていない）
+	///////////////////////////////////////
+
 	if(SubScripts[0]!=-1){
 		SetError(41,0,cp);
Index: BasicCompiler64/NumOpe.cpp
===================================================================
--- BasicCompiler64/NumOpe.cpp	(revision 40)
+++ BasicCompiler64/NumOpe.cpp	(revision 41)
@@ -737,8 +737,19 @@
 				if(!Calc_Cast(type,index_stack,&sp)) goto error;
 				break;
+			case CALC_BYVAL:
+				//ポインタ型→参照型
+				if( PTR_LEVEL( type[sp-1] ) <= 0 ){
+					//ポインタ型ではないとき
+					SetError( 3, NULL, cp );
+					goto error;
+				}
+
+				type[sp-1] = PTR_LEVEL_DOWN( type[sp-1] );
+
+				break;
 
 			default:
 				SetError(300,NULL,cp);
-				break;
+				goto error;
 		}
 	}
