标题:fatal error C1061: compiler limit : blocks nested too deeply
只看楼主
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
结帖率:100%
已结贴  问题点数:20 回复次数:7 
fatal error C1061: compiler limit : blocks nested too deeply
我编写的是一个子程序代码,程序结构大体上是这样的:
fo 我编写的是一个子程序代码,程序结构大体上是这样的:
for(int i=M;i<M+1;i++) {
 for(int j=N;j<N+1;j++) {
 for(int k=P-1;k<P;k++) {
 udutox=u[i][j][k]/(1*dx)*(u[i][j][k]-u[i-1][j][k]);
 vdutoy=v[i][j][k]/(1*dy)*(u[i][j][k]-u[i][j-1][k]);
 wdutoz=w[i][j][k]/(2*dz)*(u[i][j][k+1]-u[i][j][k-1]);

 dutotox=(u[i][j][k]-2*u[i-1][j][k]+u[i-2][j][k])/(dx*dx);
 dutotoy=(u[i][j][k]-2*u[i][j-1][k]+u[i][j-2][k])/(dy*dy);
 dutotoz=(u[i][j][k+1]-2*u[i][j][k]+u[i][j][k-1])/(dz*dz);

 ustar[i][j][k]=u[i][j][k]-dt*(udutox+vdutoy+wdutoz-1/Re*(dutotox+dutotoy+dutotoz));
 }
 }
  }
功能就是为了求解三维数组ustar[i][j][k]的值,一共是有125段这样的fou循环,这个是第124个循环,编译错误就指示在这个循环上,请问可能是什么问题?
搜索更多相关主题的帖子: nested 子程序 
2015-05-24 15:57
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:10 
int i=M,j=N,k=P-1;
udutox=u[i][j][k]/(1*dx)*(u[i][j][k]-u[i-1][j][k]);
vdutoy=v[i][j][k]/(1*dy)*(u[i][j][k]-u[i][j-1][k]);
wdutoz=w[i][j][k]/(2*dz)*(u[i][j][k+1]-u[i][j][k-1]);
dutotox=(u[i][j][k]-2*u[i-1][j][k]+u[i-2][j][k])/(dx*dx);
dutotoy=(u[i][j][k]-2*u[i][j-1][k]+u[i][j-2][k])/(dy*dy);
dutotoz=(u[i][j][k+1]-2*u[i][j][k]+u[i][j][k-1])/(dz*dz);
ustar[i][j][k]=u[i][j][k]-dt*(udutox+vdutoy+wdutoz-1/Re*(dutotox+dutotoy+dutotoz));
虽是三重实则一重,嵌套过深错误恐不在此处。
忘楼主看看编译原理,简言之,报错之处可由其他部分导致。

剑栈风樯各苦辛,别时冰雪到时春
2015-05-24 16:19
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
得分:0 
恩,检查了两遍,可能会是主程序上代码错误的影响导致嘛?子程序的代码其实比较简单,结构都是一样,好像没啥错误!
2015-05-24 17:20
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
得分:0 
问题已经解决,只要在程序开始的地方,定义三个整型变量interface i,j,k;就行了,后面就不要每次都要定义就OK啦!
2015-05-24 22:02
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:5 
楼主…interface是定义接口的…

剑栈风樯各苦辛,别时冰雪到时春
2015-05-24 23:48
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
得分:0 
这样啊 我的意思就是定义三个整型变量 int i,j,k; 我以为int就是interface的缩写,所以是一个意思!在编程的时候这两个是有区别的!
2015-05-25 10:33
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:5 
回复 6楼 w2009w
我的意思是interface是java里面用来定义接口的,就像C++里面的virtul虚拟函数。。。楼主,我说多了,sad story。。。

剑栈风樯各苦辛,别时冰雪到时春
2015-05-25 10:42
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
得分:0 
谢谢你啦!以后还望多指导指导!
2015-05-25 10:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445709-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.719583 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved