diff options
-rw-r--r-- | overloaddata.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/overloaddata.cpp b/overloaddata.cpp index 70059245e..860e9fa9a 100644 --- a/overloaddata.cpp +++ b/overloaddata.cpp @@ -182,7 +182,7 @@ OverloadData* OverloadData::addOverloadData(const AbstractMetaFunction* func, const AbstractMetaFunction* OverloadData::referenceFunction() const { - return m_overloads.at(0); + return m_overloads.first(); } const AbstractMetaArgument* OverloadData::argument(const AbstractMetaFunction* func) const @@ -261,7 +261,12 @@ bool OverloadData::isFinalOccurrence(const AbstractMetaFunction* func) const bool OverloadData::hasDefaultValue() const { foreach (const AbstractMetaFunction* func, m_overloads) { - if (!func->arguments()[m_argPos]->defaultValueExpression().isEmpty()) + int removedArgs = 0; + for (int i = 0; i <= m_argPos + removedArgs; i++) { + if (func->argumentRemoved(i + 1)) + removedArgs++; + } + if (!func->arguments()[m_argPos + removedArgs]->defaultValueExpression().isEmpty()) return true; } return false; |