[問題] 同class內無法存取private變數
class MotorPlant
{
private:
int m_nPWM_V,m_nPWM_H;
std::string m_strControlHV;
public:
MotorPlant(){
m_nPWM_V=0,m_nPWM_H=0;};
~MotorPlant(){};
int GetVerticalPWM(){return m_nPWM_V;};
int GetHorizontalPWM(){return m_nPWM_H;};
std::string Get_strControlHV(){return m_strControlHV;};
void SetPWM(int p_nPWM_V,int p_nPWM_H,HANDLE *p_hComm)
{
m_nPWM_V=p_nPWM_V;
m_nPWM_H=p_nPWM_H;
m_strControlHV=int2str(m_nPWM_V) + "V" + int2str(m_nPWM_H) + "H";
(以下code略)
public function 不是可以存取 private變數嗎?
請問出了什麼問題呢?
程式都能跑不會當,但是數值就是丟不進去
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.165.222
※ 編輯: deo2000 來自: 140.122.165.222 (01/07 11:04)
→
01/07 11:41, , 1F
01/07 11:41, 1F
建立
MotorPlant Cam1;
呼叫
Cam1.SetPWM(nV,nH,&hComm);
※ 編輯: deo2000 來自: 140.122.165.222 (01/07 11:42)
→
01/07 11:44, , 2F
01/07 11:44, 2F
有阿,就是用debugger一步步跑,才發現private變數無法被改變
※ 編輯: deo2000 來自: 140.122.165.222 (01/07 11:46)
→
01/07 11:52, , 3F
01/07 11:52, 3F
→
01/07 11:53, , 4F
01/07 11:53, 4F
推
01/07 11:56, , 5F
01/07 11:56, 5F
推
01/07 12:00, , 6F
01/07 12:00, 6F
→
01/07 12:01, , 7F
01/07 12:01, 7F
debug:
一切如預期
release:
MotorPlant();未能正常將private變數初始化
private變數也都是一些不正常的數字,無法被改變
不過很奇怪的是,系統都能正常動作,
為了監控,我又設定private變數m_strControlHV,將它cout來監看
發現都是正確的數值
真的很奇怪,過程都是錯的,結果卻是對的
※ 編輯: deo2000 來自: 140.122.165.222 (01/07 12:53)
推
01/07 12:59, , 8F
01/07 12:59, 8F
→
01/07 13:02, , 9F
01/07 13:02, 9F
→
01/07 13:20, , 10F
01/07 13:20, 10F
→
01/07 13:21, , 11F
01/07 13:21, 11F
→
01/07 13:22, , 12F
01/07 13:22, 12F
→
01/07 16:21, , 13F
01/07 16:21, 13F
→
01/07 16:22, , 14F
01/07 16:22, 14F
→
01/07 16:23, , 15F
01/07 16:23, 15F
→
01/07 16:23, , 16F
01/07 16:23, 16F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章