I can pop/deleteat only last element in my program.
Here’s the code(it uses CImGui library):
for i=1:length(S)
    CImGui.PushID(i-1)
    CImGui.Text("Line nr $i: $(S[i]) \n")
    CImGui.SameLine()
    CImGui.Button("X") && (deleteat!(S,i-length(S)+1))
    CImGui.PopStyleColor(3)
    CImGui.PopID()
end
Same goes with pop!(S)
             
            
              
              
              
            
            
           
          
            
            
              Ok, that is not a problem with pop, but with CImGui.Text.
Now I can pop(I pop before, but there was problem with reading last element after pop) , but can’t describe element and idk how to do it.

             
            
              
              
              
            
            
           
          
            
            
              I think 1:length(S) will freeze the length of S before the deletes, and so will walk over already deleted/inexistent elements. Have you tried to use a while loop instead? (e.g., i = 1; while i <= length(S); ...; end)
             
            
              
              
              1 Like
            
            
           
          
            
            
              That one I didn’t check. My fault. Now everything works. Thanks.
             
            
              
              
              
            
            
           
          
            
            
              No problem. I thought of that because I did the same mistake recently.