Errors, bugs, questions - page 1201

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
An error in the operation of virtual functions
Result: A::f(), should be B::f()
Help install META TRADER 4 on OS MAVERICKS, DOWNLOADED ALL PROGRAMS, PLAY ON MAC, ALL NEW, ANYTHING GIVES ERROR.
/*moderator: send the error text as a file*/
2 - Before debugging.
3 - after.
Maybe there are differences there, I don't understand anything at all)
Thank you very much)
Compilation error
while const should not follow static
Also, this is a sham protection, because static is modified by the usual h() function and A::f() const won't even know about it
An error in the operation of the virtual functions
Result: A::f(), should be B::f()
Compilation error
while const should not follow static
Also, this is a sham protection, because static is modified by the usual h() function and A::f() const won't even know about it
Compilation error 358 in all cases of calling h( A* a)
It is justified only in (3) and (4) because it is not h( const A* a)
A similar situation was corrected earlier https://www.mql5.com/ru/forum/1111/page1218#comment_1058402 but the reason is probably different since presence of const in void f() const declaration influences error occurrence and there were no member functions there
It does not compile in build 976 (error 358, but differs from previously described errors in build 975).
The reason might be that build 976 fixed the error relating to the fact that a normal function called from a const class method could modify class members passed to it by a non-const& reference. But here the pointer is a class member and its value is guaranteed not to be changed when calling h( A* a), but can only be changed when declaring h( A* &a )Does not compile in build 976 (error 358, but differs from previously described in that no errors occurred in build 975)
The reason might be that build 976 fixed the error relating to the fact that a normal function called from a const class method could modify class members passed to it by a non-const& reference. But here the pointer is a class member and its value is guaranteed not to be changed when h( A* a) is called but can be changed only when h( A* &a ) is declared.