0

我刚刚重新开始编程,如果这很愚蠢,请原谅我。

我有 2 节课(目前)。一个是 Windows 窗体类,我在其中使用 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 一个,所以我知道它是公开的)。

我究竟做错了什么?我应该改变什么?

谢谢!

4

1 回答 1

4

这:

*data = *wch;

不做你认为的(或我假设你认为的)。它只是将 的第一个元素复制wch到 的第一个元素中data

于 2012-05-23T22:42:47.807 回答