【发布时间】:2013-09-28 22:17:19
【问题描述】:
我有一个名为server 和server.h 的类,如下所示:
class Server : public QTcpServer
{
Q_OBJECT
public:
Server(QHostAddress listenAddress, quint16 listenPort, QObject *parent = 0);
QHostAddress hostAddress;
quint16 hostPort;
protected:
void incomingConnection(qintptr socketDescriptor);
private:
};
和server.cpp如下(部分):
Server(QHostAddress listenAddress, quint16 listenPort, QObject *parent = 0)
: hostAddress(listenAddress), hostPort(listenPort), QTcpServer(parent)
{
}
问题是我想将hostAddress 和hostPort 保密。但是,当我在类声明中将它们设为私有时,编译器抱怨我的构造函数初始化不允许更改这些私有成员。为什么?构造函数不是在同一个类中,所以应该可以改变私有变量?
【问题讨论】:
-
这个问题似乎是题外话,因为它是关于一个简单的 C++ 错误。它不会帮助其他任何人。
-
@KubaOber 这并不一定会离题。
-
@SimonAndréForsberg:参见例如this meta question.