Topic: Two user defined convertations?
Author: einwegadresse@gmx.de (Immanuel Scholz)
Date: Wed, 12 May 2004 17:15:19 +0000 (UTC) Raw View
Given the following code:
struct source {};
struct hop {
hop(source) {}
};
struct destination {
destination(hop) {}
};
destination foo() {
return source();
}
I thought function foo may not return a source-class directly, since
this would involve more than one user defined convertation
(source->hop->destination) and this is explicit forbidden by the
standard? (At least to make function calls valid?)
Well, suprisly, it works on some of my tested compilers (MSVC, Digital
Mars C++) while it don't work on others (gcc).
What says the standard about it? May I use more than one conversation
in return values and even claim standard conformity?
Ciao, Imi.
PS:
At least
void bar(destination) {}
..
bar( source() );
did not compile on any compiler I tested - as suspected.
---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]