| Summary: | [c++] Unresolved operator when mixing method template and function | ||||||
|---|---|---|---|---|---|---|---|
| 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: | 7.0 | ||||||
| Target Milestone: | 8.0 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
When mixing method-templates with global functions for a user-defined operator the overload resolution fails. Here is an example: struct S { int s; }; struct X { template<typename T> S* operator+(T t) const {return 0;} }; int* operator+(const X&, int *) {return 0;} void test() { X x; (x + 1)->s; }