3 minutes ago, MarcusAseth said:
Well then it seems you agree with my point, you can't invoke a function like in the string example
f(a).operator=(b);
and that's why it doesn't compile in that instance
but you do not call operator=
you do f(a) = b where f(a) returns an int value, which is exactly the same case as 5 = b;
Constant primitives such as 1,2u, 3f, 4d, 'c' are immutable, meaning that they are always implicit const.
__128 is a built-in type as well for MVC++ compiler (i.e. Visual Studio), you can overload operators for that type if they are not already defined:
__m128 & __vectorcall operator+=( __m128 &v1, const __m128 &v2);
operator= is defined for all built-in types, you cannot redefine it, you cannot access it.