The Free On-line Dictionary of Computing (30 December 2018):
weak typing
weakly typed
    Strict enforcement of type rules but with
   well-defined exceptions or an explicit type-violation
   mechanism.
   Weak typing is "friendlier" to the programmer than strong
   typing, but catches fewer errors at compile time.
   C and C++ are weakly typed, as they automatically coerce
   many types e.g. ints and floats.  E.g.
    int a = 5;
    float b = a;
   They also allow ignore typedefs for the purposes of type
   comparison; for example the following is allowed, which would
   probably be disallowed in a strongly typed language:
    typedef int Date;    /* Type to represent a date */
    Date a = 12345;
    int b = a;       /* What does the coder intend? */
   C++ is stricter than C in its handling of enumerated types:
    enum animal CAT=0,DOG=2,ANT=3;
    enum animal a = CAT;  /* NB The enum is optional in C++ */
    enum animal b = 1;    /* This is a warning or error in C++ */
   (2000-07-04)