添加QT3_支持时QT4 QString编译错误

添加QT3_支持时QT4 QString编译错误,qt4,qstring,qt3,Qt4,Qstring,Qt3,我学习了一些Qt3代码,我的环境是Qt4商业版,VS2010和QT插件。当我添加预处理器“QT3_SUPPORT”时,QString总是包含一些错误信息,如下所示: 1> main.cpp 1>main.cpp(18): error C2248: 'QString::operator QNoImplicitBoolCast' : cannot access private member declared in class 'QString' 1> c:\qt

我学习了一些Qt3代码,我的环境是Qt4商业版,VS2010和QT插件。当我添加预处理器“QT3_SUPPORT”时,QString总是包含一些错误信息,如下所示:

1>  main.cpp
1>main.cpp(18): error C2248: 'QString::operator QNoImplicitBoolCast' : cannot access private member declared in class 'QString'
1>          c:\qt\4.8.4\include\qtcore\../../src/corelib/tools/qstring.h(561) : see declaration of 'QString::operator QNoImplicitBoolCast'
1>          c:\qt\4.8.4\include\qtcore\../../src/corelib/tools/qstring.h(62) : see declaration of 'QString'
1>
1>Build FAILED.
我的代码如下:

#include <QtCore/QCoreApplication>
#include <QString>
#include <Qt3Support>


#include <iostream>
using namespace std;

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

    QString b;

    std::cout << "B" << b<<"\n";

    return a.exec();
}
#包括
#包括
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[])
{
qcorea应用程序(argc、argv);
QString b;
std::cout
std::cout << "B" << b<<"\n";
QTextStream cout(stdout);
cout << "B" << b << "\n";
std::cout << "B" << b.toLocal8Bit().data() << "\n";