title: Qt SLOT macro used as function argument
body: <p>I'm going through the calculator example that was installed with Qt 5.1.1 and there is a private function used to create button widgets (Button inherits QToolButton):</p>
  
  <pre><code>Button *Calculator::createButton(const QString &amp;text, const char *member)
  {
      Button *button = new Button(text);
      connect(button, SIGNAL(clicked()), this, member);
      return button;
  }
  </code></pre>
  
  <p>The example calls the above function to create several different buttons e.g.:</p>
  
  <pre><code>createButton(tr("Clear"), SLOT(clear()));
  </code></pre>
  
  <p>Where void clear() was declared as a private slot. I understand what the code is trying to do but I want to know why does passing SLOT(clear()) as the const char *member work. I can't seem to find much online that would explain using SLOT like that.</p>