【发布时间】:2014-12-01 22:49:44
【问题描述】:
我不是一个 C++ 人,所以一些简单的事情仍然让我感到困惑。我正在使用 Qt 并试图完成我的 Qt 项目(它将用于测试我在原型板上安装的 TCP/IP 连接)。
在我的主窗口类中,我想包含指向当您在主窗口窗体上按下按钮时创建的客户端和服务器对象的指针。但是,当我将该声明放入类中时,即使我已经包含了头文件,该类似乎也不知道它是什么。
这是我的主窗口类的 sn-p:
private:
Ui::MainWindow *ui;
EchoServer *mServer;
EchoClient *mClient;
...
EchoServer 和 Client 行出现语法错误,然后缺少类型说明符。
但是当我在按钮推送事件中的 mainwindow.cpp 文件中放入相同的声明时,没有错误!?这是该功能的sn-p:
void MainWindow::on_pushButtonConnect_clicked()
{
const ushort port = 9999;
EchoServer *mServer;
EchoServer server((const QString)ui->lineEdit_IP_Addr->text(), port, ui );
EchoClient client((const QString)ui->lineEdit_IP_Addr->text(), port, ui );
...
任何想法,我错过了什么?
【问题讨论】:
-
你应该在你的主窗口头文件中包含你定义你的 EchoServer 和 EchoClient 类的头文件......或者你可以转发声明你的 EchoServer 和 EchoClient 类,因为你使用指向它们的指针