- Qt 6.10
- Qt Core
- <QOverload>
- Qt 6.10.2 Reference Documentation

# <QOverload>

Functions for resolving overloads. More...

Header: | `#include <QOverload>`

## Functions

auto | qConstOverload(T memberFunctionPointer)
auto | qNonConstOverload(T memberFunctionPointer)
auto | qOverload(T functionPointer)

## Detailed Description

## Function Documentation

### template <typename T> auto qConstOverload(T memberFunctionPointer)

Returns the memberFunctionPointer pointer to a constant member function:

         struct Foo {
             void overloadedFunction(int, const QString &);
             void overloadedFunction(int, const QString &) const;
         };
         ... qConstOverload<int, const QString &>(&Foo::overloadedFunction)
         ... qNonConstOverload<int, const QString &>(&Foo::overloadedFunction)

See also qOverload, qNonConstOverload, and Differences between String-Based and Functor-Based Connections.

### template <typename T> auto qNonConstOverload(T memberFunctionPointer)

Returns the memberFunctionPointer pointer to a non-constant member function:

         struct Foo {
             void overloadedFunction(int, const QString &);
             void overloadedFunction(int, const QString &) const;
         };
         ... qConstOverload<int, const QString &>(&Foo::overloadedFunction)
         ... qNonConstOverload<int, const QString &>(&Foo::overloadedFunction)

See also qOverload, qConstOverload, and Differences between String-Based and Functor-Based Connections.

### template <typename T> auto qOverload(T functionPointer)

Returns a pointer to an overloaded function. The template parameter is the list of the argument types of the function. functionPointer is the pointer to the (member) function:

         struct Foo {
             void overloadedFunction();
             void overloadedFunction(int, const QString &);
         };
         ... qOverload<>(&Foo::overloadedFunction)
         ... qOverload<int, const QString &>(&Foo::overloadedFunction)

If a member function is also const-overloaded qConstOverload and qNonConstOverload need to be used.

See also qConstOverload(), qNonConstOverload(), and Differences between String-Based and Functor-Based Connections.