大家好,我是 plc 程式員,只是想開始 C 程式員
我正在嘗試將此代碼轉換為功能
m_file.Open(posText[7], CStdioFile::modeRead);
m_file.ReadString(posValue[7]);
UpdateData(TRUE);
dlg.s_PostionZ2 = posValue[7];
UpdateData(FALSE);
m_file.Close();
這是我的功能,但沒有用
void mainDial::opeFile(CString path, CString value, CString location)
{
slaveDialog dlg;
m_file.Open(path, CStdioFile::modeRead);
m_file.ReadString(value);
AfxMessageBox(location);
UpdateData(TRUE);
location = value;
UpdateData(FALSE);
m_file.Close();
}
我想做的只是打開一個檔案并保存到值并更改位置值
問題是位置在另一個對話框中(SlaveDialog dlg;)
只需輸入 dlg.S_position 即可
但是如果我希望它與使用函式來傳遞這樣的位置有關
opeFile(posText[0], posValue[0], _T("dlg.s_PostionX1"));
or
opeFile(posText[0], posValue[0], dlg.s_PostionX1);
它沒有雙向作業所以我怎樣才能改變我的功能作業
謝謝你的閱讀
uj5u.com熱心網友回復:
我想做的只是打開一個檔案并保存到值并更改位置值
您通過 value傳入函式的輸出引數,因此它們會復制呼叫者的值。函式對引數所做的任何更改都會對副本進行,而不是反映給呼叫者。
要執行您想要的操作,您需要通過參考傳遞輸出引數,例如:
void mainDial::opeFile(CString path, CString& value, CString& location)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/495526.html
