对函数的调用是不明确的
Call to a function is ambiguious
我正在尝试建立一个程序,但得到一个错误:
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)
我如何修补它,以获得正常构建?
application_ob.cpp
的第103行可能是这样的:
FormatFromExt(qs);
直接的解决方案是将此(或其等同内容)更改为
FormatFromExt(qs.toStdString());
然而,关于qs
的可能内容,我们没有足够的信息来判断上述方法在处理非拉丁字符时是否有效。更好的选择是
相关文章:
- 重载类方法的不明确调用
- 父类的私有函数会导致对具有相同名称和相似参数的子类中的公共函数的不明确调用
- 对重载函数find_first_not_of的不明确调用
- "fpclassify":对重载函数的不明确调用
- Boost 协程由于对 callcc 的不明确调用而无法编译
- 递归调用可变参数模板函数重载时的不明确调用
- 对没有参数的可变参数模板函数的不明确调用
- 对基类中重载函数的不明确调用
- 对重载函数的不明确调用 - int 和 int>
- 解决模板参数推导中的不明确调用
- 如何避免在具有其他虚拟基类时对基类函数的不明确调用
- 对重载函数的不明确调用 - 日志与ptrdiff_t
- boost::interprocess::map insert 给出:对重载函数的不明确调用
- 对继承的模板方法的不明确调用
- 对模板化类的重载运算符的不明确调用
- 'fabs':使用模板时对重载函数的不明确调用
- 日志(PCTSTR 格式,..)和日志(PCTSTR 文本):错误 C2668 对重载函数的不明确调用
- 对重载构造函数 C++ 的不明确调用
- 用模板参数的模板来解决不明确调用的c++默认行为是什么
- 'boost::make_shared":对重载函数的不明确调用