作者wintercobra (wintercobra)
看板EE_DSnP
标题[问题] 一个奇怪的问题
时间Sun Jan 18 20:09:52 2009
某个class里面有个member function
void f()
{
...
double speed = 0;
...
}
这样work的不错
但是现在我想要把那个speed改成data member
以便於其他function使用
於是
class A
{
...
private:
double _speed;
...
}
void f()
{
...
_speed = 0;
}
就这样,执行到这里的时候会出现"存取违规错误"
所以我又稍稍修改了一下
class A
{
...
private:
double _speed;
...
}
void f()
{
...
double speed = 0;
...
// _speed = 0; <---这行先不看
}
这样OK,但没有达到我想令speed为data member的目的
再想另一种方法
class A
{
...
private:
double _speed;
...
}
void f()
{
...
double speed = 0;
...
_speed = speed;
}
於是又出现同样的问题了
感觉像是更改到_speed就有麻烦
不过我没有任何const 的 function啊
这是怎麽回事?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.235
1F:→ wintercobra:顺带一提,我有同样功能的另一个data member: _rate 01/18 20:12
2F:→ wintercobra:使用起来就完全没问题(也是double),令我不解 01/18 20:13
3F:推 ric2k1:f() 是 member function 吗? 01/18 20:18
4F:→ wintercobra:对 01/18 21:11
5F:推 ric2k1:资讯不足, 无法帮你判断... 也须开个 debugger trace一下吧 01/18 22:00