MatlabのガイドでGUIを作っています。impoint でポイントを配置しており、「ポイント リスト」を更新できるように addNewPositionCallback を使用しています。update 関数にコールバックとして与える引数の 1 つは、'handles' オブジェクトです。しかし、Matlab はこれを値で渡すため、コールバックが呼び出されると、そこにハンドル オブジェクトがありますが、それは古いバージョンです。ハンドル オブジェクトへのポインタのようなものが欲しいです。
または、より一般的には、「ハンドル」オブジェクトをパラメーターとして持っていない関数のどこかにアクセスしたいと考えています。
編集:だから私は次のようなコールバック関数を持っています:
function updatePosition(pos, hObject, handles)
次のようなコールバックとして追加します。
addNewPositionCallback(testh,@(pos) updatePosition(pos, hObject, handles));
そして、ハンドルにポイントリストがありますhandles.pointlist
. 5 つのポイントが含まれている必要がありますが、最初のポイントの updatePosition 呼び出しがあると、リストにはポイントが 1 つしか含まれていません。ハンドルは更新されていないようで、以前からのコピーがあるだけです。