0
我只是回到編程中,所以請原諒我,如果這非常愚蠢。C++中的類之間的變量超出範圍
我有2個類(現在)。一個是Windows Form類,我使用Button_Click事件觸發通信端口打開。我想將用戶在表單上輸入的數據傳遞給Communication類以進行進一步處理(發送)。 這是初始化並調用通信類的部分:
wchar_t * data = new wchar_t[nLength];
*data = *wch;
SerialCommunication comm1;
bool comm1ok = comm1.SerialWrite(data);
變量「數據」是一個指針,所以我想它的地址傳遞給其他類使用。 這是我的第二類:
bool SerialCommunication::SerialWrite(wchar_t * datar){...
,但數據永遠不會使得它在那裏。一旦SerialWrite()函數啓動,它就會超出範圍。我需要以其他方式聲明這個指針,以確保它在類之間移動時不會消失嗎?據我所知,這些類都是公開的(我寫了SerialCommunication之一,所以我知道它是公開的)。
我在做什麼錯?我應該改變什麼?
謝謝!
好的,那是真的,我沒有注意到,因爲我總是隻輸入一個數字。我將努力修復它。但是,這是否會影響我的變量未通過的情況? – Mewa
@Mewa:指針超出範圍,但這並不重要,因爲使用'new'分配的內存不會被刪除(除非您調用'delete []'!)。 –
謝謝!我一直在想,如果調試者告訴我它超出了範圍,我將無法讀取它的價值。它雖然工作正常。我通過使用char *和strcpy_s改變了我的原始問題,並且它運行良好。 – Mewa