c++ - C++ 类之间的变量超出范围

标签 c++ class scope

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

我有 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/

相关文章:

javascript - 在 JavaScript 中收缩变量

c++ - boost 时出现段错误( boost :filesystem:exists)

c++ - 如何从开始和结束迭代器创建范围?

javascript - 有没有办法创建行为类似于 C++ RValues 的 JavaScript 对象?

c++ - 从 QGraphicsItem Qt C++ 获取实际对象

ruby - 获取先前作用域的局部变量

python - Python 中导入的模块/函数的范围

c++ - python struct.pack 在 C++ 中等效

javascript - 如何访问自定义类中的方法?

python - 如何在python中获取某个类的所有实例?