2016-03-30 5 views

Antwort

6

Es gibt zwei Überladungen der Funktionsvorlage foo. A foo<int> könnte entweder foo<int>(int) (die erste) oder foo<int>(int*) (die zweite) sein.

Um die Mehrdeutigkeit zu beheben, können Sie den relevanten Funktionstyp anwenden.

I.e.

apply(static_cast<void(*)(int)>(&foo<int>), 7); 

Haftungsausschluss: Code nicht einmal in einem Abstand von einem Compiler angesehen.

Verwandte Themen