
On 12/6/2010 5:02 PM, Eric Niebler wrote:
On 12/6/2010 4:38 PM, Edward Diener wrote:
The error report to Microsoft is at https://connect.microsoft.com/VisualStudio/feedback/details/624757/incorrect...
The only thing that bug report says is:
An attempt to choose correctly between two function templates when calling a function fails when one of the function templates takes a pointer to member data and the data has an aggregate type.
I agree that is not a full explanation, but then again if you look at the attachment you see the full example.
In my experience, that's FAR too little information for them to actually use. For instance, this program would seem to satisfy your description, and yet VC10 compiles it just fine.
struct S { int i; };
template<class T> void foo( int S::* ) {}
template<class T> void foo( T * ) {}
int main() { foo( (char*)0 ); }
You should always attach a repro to your bug reports.
The attachment in the bug report shows the bug. You probably missed that there is an attachment illustrating the bug.