Boost C++ Libraries: Ticket #7658: Ambiguity error with function overloads https://svn.boost.org/trac10/ticket/7658 <p> The following code (relevant for a convenient thread-callback API) fails to compile with VC2010 due to a C2668 error: </p> <pre class="wiki">typedef boost::function&lt;void (int i)&gt; fooCallback; typedef boost::function&lt;void (int i, int k)&gt; barCallback; void TestBF(fooCallback fc) {} void TestBF(barCallback bc) {} void MyFunc (int a, int b) {} int main(int argc, char **argv) { TestBF (&amp;MyFunc); return 0; } </pre><p> Without calling TestBF in main, everything is fine, there is no multiple definition error. A (most likely) related discussion thread can be found here: <a class="ext-link" href="http://boost.2283326.n4.nabble.com/Boost-Function-detecting-ignored-arguments-td4631919.html"><span class="icon">​</span>http://boost.2283326.n4.nabble.com/Boost-Function-detecting-ignored-arguments-td4631919.html</a>. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7658 Trac 1.4.3