一个类里定义了两个变量,结果在某个函数操作其中一个变量时却影响了另一个变量

时间:2022-11-11 20:06:16
c++
如题,类里定义了两个数组
double parameter_ccd[11];
double phist[256];
然后我在某个函数里对phist进行赋值,结果却影响了parameter_ccd,也就是我给phist赋值什么,parameter_ccd变为这个值,这是怎么个情况?

8 个解决方案

#1


信息量太少

可能越界?
或者2边用的类不一样

#2


信息太少了,这二个变量是在一个union里面?

#3


我是在MFC对话框类定义的这两个数组,程序比较长,但是涉及到这两个变量操作的函数真的很简单,没办法,我只得在我要操作phist的函数将其定义为局部变量,这才没有影响到parameter_ccd.

#4


引用 楼主 mayo2012 的回复:
如题,类里定义了两个数组
double parameter_ccd[11];
double phist[256];
然后我在某个函数里对phist进行赋值,结果却影响了parameter_ccd,也就是我给phist赋值什么,parameter_ccd变为这个值,这是怎么个情况?
我是在MFC对话框类定义的这两个数组,程序比较长,但是涉及到这两个变量操作的函数真的很简单,没办法,我只得在我要操作phist的函数将其定义为局部变量,这才没有影响到parameter_ccd.

#5


引用 2 楼 lovesmiles 的回复:
信息太少了,这二个变量是在一个union里面?
我是在MFC对话框类定义的这两个数组,程序比较长,但是涉及到这两个变量操作的函数真的很简单,没办法,我只得在我要操作phist的函数将其定义为局部变量,这才没有影响到parameter_ccd.

#6


多年以后,你回过头来看这个问题,就会发现肯定是某个地方写错了。
ps:有时rebulid也能解决一些莫名奇妙的问题

#7


工程clean掉,重新编一下试试

#8


贴多一点代码上来。

#1


信息量太少

可能越界?
或者2边用的类不一样

#2


信息太少了,这二个变量是在一个union里面?

#3


我是在MFC对话框类定义的这两个数组,程序比较长,但是涉及到这两个变量操作的函数真的很简单,没办法,我只得在我要操作phist的函数将其定义为局部变量,这才没有影响到parameter_ccd.

#4


引用 楼主 mayo2012 的回复:
如题,类里定义了两个数组
double parameter_ccd[11];
double phist[256];
然后我在某个函数里对phist进行赋值,结果却影响了parameter_ccd,也就是我给phist赋值什么,parameter_ccd变为这个值,这是怎么个情况?
我是在MFC对话框类定义的这两个数组,程序比较长,但是涉及到这两个变量操作的函数真的很简单,没办法,我只得在我要操作phist的函数将其定义为局部变量,这才没有影响到parameter_ccd.

#5


引用 2 楼 lovesmiles 的回复:
信息太少了,这二个变量是在一个union里面?
我是在MFC对话框类定义的这两个数组,程序比较长,但是涉及到这两个变量操作的函数真的很简单,没办法,我只得在我要操作phist的函数将其定义为局部变量,这才没有影响到parameter_ccd.

#6


多年以后,你回过头来看这个问题,就会发现肯定是某个地方写错了。
ps:有时rebulid也能解决一些莫名奇妙的问题

#7


工程clean掉,重新编一下试试

#8


贴多一点代码上来。