0

プログラムをビルドしようとしていますが、エラーが発生しました:

application_ob.cpp: In member function 'void ApplicationWindow::OBNewLoad(QString, QString)':
application_ob.cpp:103:41: error: call of overloaded 'FormatFromExt(QString&)' is ambiguous
application_ob.cpp:103:41: note: candidates are:
/usr/include/openbabel-2.0/openbabel/obconversion.h:81:24: note: static OpenBabel::OBFormat* OpenBabel::OBConversion::FormatFromExt(const char*)
/usr/include/openbabel-2.0/openbabel/obconversion.h:84:24: note: static OpenBabel::OBFormat* OpenBabel::OBConversion::FormatFromExt(std::string)

通常のビルドを取得するためにパッチを適用するにはどうすればよいですか? C++が分からないので簡単に教えてください。

4

1 に答える 1

2

の 103 行目は、application_ob.cppおそらく次のようになります。

FormatFromExt(qs);

当面の解決策は、これ (または同等のもの) を次のように変更することです。

FormatFromExt(qs.toStdString());

qsただし、非ラテン文字を処理するときに上記の方法が機能するかどうかを判断するには、 の可能な内容に関する十分な情報がありません。より良い代替案がこの回答に示されていますが、それらの中から選択するには、扱っているデータの種類を知る必要があります。

于 2011-07-15T09:10:10.893 に答える