我刚刚重新开始编程,如果这很愚蠢,请原谅我。
我有 2 个类(class)(目前)。一个是 Windows 窗体类,我在其中使用 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 类,所以我知道它是公开的)。
我做错了什么?我应该改变什么?
谢谢!
最佳答案
这个:
*data = *wch;
不会按照您的想法去做(或者我假设您的想法)。它只是将 wch
的第一个元素复制到 data
的第一个元素中。
关于c++ - C++ 类之间的变量超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728847/