3
我來自Objective-C,並且喜歡內聯函數在C++ 11中使用C++,它們很有用!可悲的是,我在我的插槽有一個問題(這個設置讓我想起了一些協議和委託,我想知道是否可以創建一個專門類似於obj-c中的「委託」的類)。內聯函數和QObject :: connect - 期望表達式
#include <QCoreApplication>
#include <QtNetwork/QTcpSocket>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTcpSocket *socket = new QTcpSocket;
socket->connectToHost("qt.nokia.com", 80);
QObject::connect(socket, &QTcpSocket::connected, [socket, page]() {
socket->write(QByteArray("GET " + "index.html" + "\r\n"));
});
QObject::connect(socket, &QTcpSocket::readyRead, [socket]() {
qDebug()<< "GOT DATA "<< socket->readAll();
});
return a.exec();
}
這給了我下面的錯誤:
main.cpp:10: error: expected expression
QObject::connect(socket, &QTcpSocket::connected, [socket, page]() {
^
您是否在編譯器中啓用了C++ 11?例如,lambda可以工作嗎? –