Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define QT_NO_CAST_FROM_ASCII
- #include <QString>
- void func()
- {
- auto f = [] () -> QString
- {
- QString a = QStringLiteral("Hello.");
- return a;
- };
- QString b = f();
- }
- 1>example.cpp(7): error C2248: 'QString::QString' : cannot access private member declared in class 'QString'
- 1> C:Qt5.1.1includeQtCore/qstring.h(691) : see declaration of 'QString::QString'
- 1> C:Qt5.1.1includeQtCore/qstring.h(207) : see declaration of 'QString'
- #undef QT_NO_CAST_FROM_ASCII // Note the undef!
- #include <QString>
- void func()
- {
- auto f = [] () -> QString
- {
- QString a = QStringLiteral("Hello.");
- return a;
- };
- QString b = f();
- }
- #define QT_NO_CAST_FROM_ASCII
- #include <QString>
- void func()
- {
- auto f = [] () -> QString
- {
- QString a = QLatin1String("Hello."); // Note using QLatin1String() instead.
- return a;
- };
- QString b = f();
- }
- #define QT_NO_CAST_FROM_ASCII
- #include <QString>
- void func()
- {
- QString a = QStringLiteral("Hello."); // Note QStringLiteral() used outside the lambda.
- auto f = [&a] () -> QString
- {
- return a;
- };
- QString b = f();
- }
- #define QT_NO_CAST_FROM_ASCII
- #include <QString>
- void func()
- {
- auto f = [] () -> QString
- {
- QString a = ( []() -> QString
- {
- enum { Size = sizeof(L"Hello.")/2 - 1 };
- static const QStaticStringData<Size> qstring_literal = { { { { (-1) } }, Size, 0, 0, sizeof(QStringData) }, L"Hello." };
- QStringDataPtr holder = { qstring_literal.data_ptr() };
- const QString s(holder);
- return s;
- }()
- );
- return a;
- };
- QString b = f();
- }
- #define QT_NO_CAST_FROM_ASCII
- #include <QString>
- void func()
- {
- auto f = [] () -> QString
- {
- auto qsl = []() -> QString
- {
- enum { Size = sizeof(L"Hello.")/2 - 1 };
- static const QStaticStringData<Size> qstring_literal = { { { { (-1) } }, Size, 0, 0, sizeof(QStringData) }, L"Hello." };
- QStringDataPtr holder = { qstring_literal.data_ptr() };
- const QString s(holder);
- return s;
- };
- QString a = qsl();
- return a;
- };
- QString b = f();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement