added note about trailing commas (fixes #593)
diff --git a/docs/advanced/classes.rst b/docs/advanced/classes.rst
index 232d13d..8896441 100644
--- a/docs/advanced/classes.rst
+++ b/docs/advanced/classes.rst
@@ -230,6 +230,13 @@
std::string bark() override { PYBIND11_OVERLOAD(std::string, Dog, bark, ); }
};
+.. note::
+
+ Note the trailing commas in the ``PYBIND11_OVERLOAD`` calls to ``name()``
+ and ``bark()``. These are needed to portably implement a trampoline for a
+ function that does not take any arguments. For functions that take
+ a nonzero number of arguments, the trailing comma must be omitted.
+
A registered class derived from a pybind11-registered class with virtual
methods requires a similar trampoline class, *even if* it doesn't explicitly
declare or override any virtual methods itself: