これはRust 0.4です
そうだと思いますが、私の特定のユースケースには当てはまらないようです。
ベクトルへの所有ポインターのベクトルへの所有ポインターがあります。
以下のように構築しています。
let mut table = ~[];
for [0, ..10].each |i| {
let mut row = ~[];
for [0, ..128].each |j| {
row.push(A_CERTAIN_ENUM);
}
table.push(row);
}
次に、この 2 次元ベクトルを別の関数に渡して、さらに初期化します。
機能はこんな感じ。
fn setT (table: &mut ~[~[SomeEnumType]]) {
// Demonstration purposes...
for [0, ..10].each |i| {
for [0, ..128].each |j| {
table[*i][*j] = A_DIFFERENT_ENUM;
}
}
}
次のコードで関数を呼び出します。
setT(&table);
しかし、調べてみると、 の内容table
はまったく変更されていません。中のものはすべて静止していA_CERTAIN_ENUM
ますA_DIFFERENT_ENUM
。
渡すパラメータを別の関数に変更させる方法を知っている人はいますか?
どんな助けでも大歓迎です!