I'm dying...

I have this block pl sql that i want to execute in a C++ program where i'm using OCI to insert array elements into table with name variable..

"Declare
type arr is table of Number index by binary_integer;

procedure insert_val (name in varchar2, val in arr) is

stmt varchar2(50);
i Number;
Begin
forall i IN 1..val.last loop
stmt := 'Insert into ' ||name|| ' Values (:1)';
execute immediate stmt using val(i); execute immediate 'commit';
end loop;
end;
begin
insert_val(:mykey,:int_arr);
end;";

But i cannot resolve this, i think the error is in the pass of ":int_arr" in procedure where there is "val in arr"...

Is there anyone can help me, pleae?? I'm desperate..