Вызов функции неоднозначен - PullRequest
0 голосов
/ 15 июля 2011

Я пытаюсь собрать программу, но получаю ошибку:

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 ++.

1 Ответ

2 голосов
/ 15 июля 2011

Строка 103 из application_ob.cpp, вероятно, выглядит следующим образом:

FormatFromExt(qs);

Непосредственным решением будет изменить это (или его эквивалент) на

FormatFromExt(qs.toStdString());

Однако мынедостаточно информации о возможном содержании qs, чтобы определить, будет ли работать вышеуказанный метод при работе с нелатинскими символами.Лучшие варианты представлены в этом ответе , но чтобы выбирать между ними, мы должны знать, с какими данными мы имеем дело.

...