>696
せめてこれくらいのテストはしてから、そういうことを言ってほしい。

#include <stdio.h>
struct Variant{
 operator int() { return 1;}
 operator double() { return 2.0;}
};
int main(){
 Variant v;
 int i = v;
 double d = v;
 printf("%d, %f", i, d );
}