【問題点】
・マネージドのクラスではメンバにネイティブ配列が使えないため、
書き込み対象にどうしてもマネージド配列の要素を指定することが必要となりますが、
interior_ptrをvoid**にキャストできません。
仕様上、interior_ptr → pin_ptr → int → void** にはキャストできる(っぽい)のですが、
 ・interior_ptrは配列に出来ない(array<interior_ptr<int>> も interior_ptr<int> hoge[] もエラー)
 ・pin_ptrも同様に配列に出来ない。さらにローカル変数として宣言しないと駄目っぽい。
ため、これらを回避するためにはベタにコードする必要があり、余計に見にくくなります。
・そもそも void** にしているのは可変長引数がいまいちだったからなのですが、
上記のように interior_ptr が配列に取れないから多分可変長も無理です。
・自分の場合は1行につきせいぜい10個程度の代入なので最悪べた書きでラップしてもいいのですが、
interior_ptr<Type>は型指定があり、型の順番は変更したいのでこれも厳しいです。

【出来ればいいなと思っている記述】
array<int> ary_int = gcnew array<int>(10);
array<double> ary_double = gcnew array<double>(10);
sscanf_csv(line0, "int,double", gcnew array<void**>(2){&ary_int[0], &ary_double[0]});
sscanf_csv(line1, "double,int", gcnew array<void**>(2){&ary_double[1], &ary_int[1]});

という感じです。良い案があればお願い致します。