我刚刚回到编程中,所以请原谅我这是非常愚蠢的。
我有2个班级(现在)。一个是Windows Form类,我在其中使用Button_Click事件来触发通信端口打开。我想将用户在表单上输入的数据传递给Communication类,以便进一步处理(发送)。 这是初始化和调用Communication类的部分:
wchar_t * data = new wchar_t[nLength];
*data = *wch;
SerialCommunication comm1;
bool comm1ok = comm1.SerialWrite(data);
变量“data”是一个指针,所以我想把它的地址传递给另一个要使用的类。 这是我的第二堂课:
bool SerialCommunication::SerialWrite(wchar_t * datar){...
但数据从未实现过。一旦SerialWrite()函数启动,它就会超出范围。我是否需要以其他方式声明此指针,以确保在类之间移动时它不会消失?
据我所知,这些类都是公开的(好吧,我写了一个SerialCommunication,所以我知道它是公开的)。
我做错了什么?我应该改变什么?
谢谢!
答案 0 :(得分:4)
此:
*data = *wch;
没有按照你的想法(或我认为你的想法)。它只是将wch
的第一个元素复制到data
的第一个元素中。