私はプログラミングに戻ったばかりなので、これが非常にばかげている場合はご容赦ください。
私は2つのクラスを持っています(今のところ)。1 つは Windows フォーム クラスで、Button_Click イベントを使用して通信ポートを開くようにしています。ユーザーがフォームに入力したデータを Communication クラスに渡して、さらに処理 (送信) したいと考えています。これは Communication クラスを初期化して呼び出す部分です。
wchar_t * data = new wchar_t[nLength];
*data = *wch;
SerialCommunication comm1;
bool comm1ok = comm1.SerialWrite(data);
変数「data」はポインタなので、そのアドレスを他のクラスに渡して使用したい。これは私の2番目のクラスです:
bool SerialCommunication::SerialWrite(wchar_t * datar){...
しかし、データがそこに到達することはありません。SerialWrite() 関数が起動するとすぐに範囲外になります。クラス間を移動したときにポインターが消えないようにするために、このポインターを別の方法で宣言する必要がありますか?
私の知る限り、これらのクラスはどちらも公開されています (SerialCommunication は私が作成したので、公開されていることはわかっています)。
私は何を間違っていますか?何を変更すればよいですか?
ありがとう!