我是Qt(和C ++)的新手。我有一个简单的问题:
怎么了?

#include <QCoreApplication>
#include <QtNetwork/QLocalServer>

int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);

  QLocalServer* x = new QLocalServer(this);
  return a.exec();
}


感谢您的指教。

最佳答案

您的问题是这样的(双关语):

QLocalServer* x = new QLocalServer(this);


this在非静态类成员函数之外无效。 main()不是成员函数,因此this不存在。您可以改为传递NULL指针,以表示该对象没有父对象:

QLocalServer* x = new QLocalServer(NULL);


不要忘记将网络模块添加到项目文件的QT变量中。例如:

QT += OTHER_MODULES_YOU_USE_HERE network

10-08 03:19