m******l 发帖数: 613 | 1 我在用java写一格东东,有个算法不会写,只找到了别人用c写的代码
但转换的时候发现如下问题,想烦请各位高手指点一二
int* beam,*scp,*tmx;都是当数组用(我在java中定义了int beamidx, scpidx, tmxidx
)
1.beam += y + icm[y].offset;(icm是我自己定义的一个istate数组,offset是一个整型
元素)
2. *scp=*beam+*tmx;
3.trace类的构造,我构造tracestack开始的时候用如下代码
trace[] list=new trace[10];
然后再在tracestack的构造函数中写道:
for(int i=0; i<10; i++) list[i]=new trace();
但这样每次都会报错java.lang.stackoverflow,后来只好把这一句屏蔽掉
4。int[][][] amx
beam=amx[diff][0]+y+icm[y].offset; 这句话什么意思,怎么转换
trace定义如下
class trace {
public int emitl=0; | g*****g 发帖数: 34805 | 2 先弄明白C是怎么回事吧。
beam += y + icm[y].offset 这种无非是移动指针,
你只要设一个index
index = y + icm[y].offset
后面*beam = .. 的时候你做beam[index]=.. 就可以了。
【在 m******l 的大作中提到】 : 我在用java写一格东东,有个算法不会写,只找到了别人用c写的代码 : 但转换的时候发现如下问题,想烦请各位高手指点一二 : int* beam,*scp,*tmx;都是当数组用(我在java中定义了int beamidx, scpidx, tmxidx : ) : 1.beam += y + icm[y].offset;(icm是我自己定义的一个istate数组,offset是一个整型 : 元素) : 2. *scp=*beam+*tmx; : 3.trace类的构造,我构造tracestack开始的时候用如下代码 : trace[] list=new trace[10]; : 然后再在tracestack的构造函数中写道:
|
|