私はいくつかの Qt3 コードを研究しています。私の環境は QT 4 コマーシャル、qt-addin を使用した VS2010 です。プリプロセッサ「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();
}
エラー情報は常に QString の使用に関連付けられています
std::cout << "B" << b<<"\n";
私はエラーをグーグルで検索しましたが、qt3 coe を qt4 にプロティングすることに関するいくつかの情報を見つけました。彼らは QT3_SUPPORT を追加し、 include を追加する必要があると言っています。