I assumed, dynamic or static type-checking would be also a property to determine whether the language is strong typed or not, at last. So its written in Wikipedia:

In fact, many of these are more accurately understood as the presence or absence of type safety, memory safety, static type-checking, or dynamic type-checking.

And Cardelli/Wegner uses this property to argue about strongly typing. The words "static typing" and "dynamic typing" are always clearly defined in this context.

Why do you wish to determine whether QML is strongly or weakly typed?

First I see the definition of typing discipline in Wikipedia about QML: dynamic, strong (https://en.wikipedia.org/wiki/QML), but there is no statement, why QML should be strong. Then I did research and read the article in Stackoverflow about "Is JavaScript an untyped language?" (http://stackoverflow.com/questions/964910/is-javascript-an-untyped-language) and the explanations of Cardelli. At last I was very confused about this. :/
It seemed to be something that can be defined precisely, like the top of a house, whether the roofing tiles are red or not red.

Do you think C++ is strongly or weakly typed?

Yes, you are right.... when I assign "hello" to c3 it works, too...
Probably there is no clear differentiation between "strong" and "weak", instead of this it should be graded whether a language is stronger/weaker than another one. For instance C++ is stronger typed than JavaScript but weaker than Haskell.