问题描述
我必须使用Tpoint数组的数组。我不知道任何初始尺寸,因为用户将能够创建n组Point,每个Point具有可变尺寸。
它涉及处理图形,每个初始图形都有四个顶点,可以对其进行建模,添加和删除顶点。
我定义类型
gfortran -std=f2008 -fall-intrinsics -ffree-line-length-none -Wall -Wextra -Wpedantic -Wno-target-lifetime -Wno-compare-reals -Jbuild.gnu.debug -g -Og -fcheck=bounds,do,mem,pointer,recursion -Isrc -Itests -DUSE_PCRE tests/tests.F90 build.gnu.debug/*.o -lpcreposix -lpcre -o build.gnu.debug/tests
创建新图形时,我将初始化数组
type
Tnode = array of array of TPoint;
...
Fnode: Tnode;
SetLength(Fnode,index,5);
一切正常,但是当我使用SetLength(fnode[index-1],nVertices);
创建一个新的起始图形时,先前的数组也再次初始化为5,并且显然删除了所有添加的顶点。
此刻,我解决了以下问题:在创建新图形之前复制数组,并在调用SetLength之后还原它们,但这似乎是一种不好的做法。
您有什么建议吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)