Error message: matlab Variable "VARNAME" is inaccessible. When a variable appears on both sides of an assignment statement, the variable may become temporarily unavailable during processing.

4 visualizaciones (últimos 30 días)
My code looks something like this:
[inputObject,Container] = myfunction(inputObject,param1,param2,Container);
Container is a containers.Map object; I'm basically trying to use it as a hashtable.
Also, of note, myfunction is a recursive function call; there are calls to myfunction within myfunction.
So here's the problem. I am making several calls to myfunction in a row. I want Container to be available to the next function call as soon as the previous one has completed. However, when I try to evaluate "Container" in debug mode, I get the error given above. VARNAME in this case is Container.
Here's the weird part. If I make a line solely containing the word "Container", and then using "step" in debugger, step my way to that line (with a breakpoint on that line) I can finally get MATLAB to evaluate "Container". Then, this value becomes "available", and MATLAB finally starts passing it from function call to function call. But that ONLY happens AFTER I do this thing where I step my way to that line with a breakpoint on it.
So I think the issue is that Container isn't being "refreshed" in MATLAB's memory. I need a way to get it to do this. Any ideas?
  6 comentarios
Joshua Diamond
Joshua Diamond el 5 de Sept. de 2017
I found an excellent solution to the problem here, in the answer provided by Joan Puig.
Thank you!

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Scope Variables and Generate Names en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by