Conversion Operatoren (so heissen die Dinger wirklich), müssen non
static class Members sein.
Ich denke, das ist deswegen so, weil es dem Compiler zuviele Freiheiten
geben würde, so eine Konvertierung implizit einzusetzen. Denn um sein
Ziel, eine Angleichung von Datentypen zu erreichen, benutzt der Compiler
hemmungslos alles, was er an Constructoren bzw. Conversion Operators
finden kann. Mit zuvielen Konstruktoren bzw. Conversion Operators hat
sich schon so manch einer ins Knie geschossen (inkl. mir): Dinge die
eigentlich nicht compilieren sollten wurden vom Compiler mithilfe von
CTors und conv-op so hingedreht, dass sie syntaktisch korrekt wurden.