| Summary: | [C++ semantics] Instantiating templates for overloaded function sets | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Markus Schorn <mschorn.eclipse> | ||||
| Component: | cdt-parser | Assignee: | Markus Schorn <mschorn.eclipse> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Mike Kucera <mikekucera> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | 8.0 | ||||||
| Target Milestone: | 8.0 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
If the argument for a function call is an overloaded function set, we fail to instantiate function templates. Here is an example: template <typename T> void f(T (*)(int), char) {}; template <typename T> void f(int (*)(T), int) {}; template <typename T> void f(T, int); int g(char) {return 1;}; void g(int) {}; void b() { f(g, '1'); // problem binding f(g, 1); // problem binidng }