The following conversions are classified as implicit conversions: Identity conversions Implicit numeric conversions Implicit enumeration conversions. Implicit reference conversions Boxing conversions Implicit constant expression conversions User-defined implicit conversions Implicit conversions can occur in a variety of situations, including function member invocations (14.4.3), cast expressions (14.6.6), and assignments (14.13). The pre-defined implicit conversions always succeed and never cause exceptions to be thrown. [Note: Properly designed user-defined implicit conversions should exhibit these characteristics as well. end note]