This is non-standard.
i.e. you do not write "C ++" (as it was intended) when you write this. It may look like C ++, but you are not following the rules, so you are not really writing C ++.
In most cases, its result is undefined.
Unlike other languages, such as C ++ or C #, where "bad" behavior causes errors, C ++ resolves something when an erroneous construct is used. Thus, you cannot depend on the compiler doing the βrightβ thing, because it can do it once, but not another.
In general, you want to avoid undefined behavior, so you shouldn't.
source share