作者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