Errors, bugs, questions - page 2259

 
fxsaber:

The option with this - it's not clear why you would write it that way. When A:: already says everything.

What does the highlighted A:: say in this case?

class A { public:
    static int a;
};
int A::a;
class C { public:
        int a;
};
class D : public C {};
class B : public D {
        int a;
        void f1() { this.a    = 0; }
        void f2() {      A::a = 0; }
        void f3() { this.C::a = 0; }
};
 
A100:

What does the highlighted A:: mean in this case?

The reference to a static field in this context. But I see what you mean, thank you.

 
A100:

Compilation error (ME\1881\32)

Otherwise:

it's fine. What's the difference?

Unfortunately, we will not be fixing this behavior in the near future.

This is a "feature" of the implementation of templates in MQL.

With this code, you need to instantiate B before A

 
A100:

Macros have nothing to do with it - replace this with a normal pointer and you have exactly the same syntax:

In MQL you can't explicitly refer to b.A::x, but in C++ you can. Why such a restriction?

We will introduce the scope support for access to members later, when implementing multiple inheritance from interfaces.

 
Ilyas:

when implementing multiple inheritance from interfaces.

oooh, it will happen )

 

Here's a question, there is a class CMatrixDouble from МТ delivery: #include <Math\Alglib\matrix.mqh>

but no method to transpose a matrix, to transpose a matrix using this class as quickly as possible, you need to access the array in the parent class "row"class CRowDouble:

class CRowDouble
  {
private:
   double            m_array[];

and simply copy the rows into the columns

is there any way to make array m_array[]; accessiblewith access specifier public ( template ) or any other "magic tricks"?

PS: and in general, Mr. developers, why can't we implement at MQL level the work with two-dimensional dynamic arrays, OK with the common case of multidimensional dynamic arrays, but two-dimensional dynamic arrays are quite often needed, we constantly need to think something up to do the elementary thing
 
fxsaber:
There's an icon in the top-right corner that says I have unread PMs all the time. There's no way to reset it - read it. Please add a "Make all read" button.

Leave one tab open with mql5.com, read the message and it will reset. As long as multiple tabs are open, the counter is kept in another, inactive, tab all the time.

 
Andrey Khatimlianskii:

Leave one tab open with mql5.com, read the message and it will reset. As long as several tabs are open, the counter is kept in another, inactive, tab all the time.

Unfortunately, the recipe doesn't work.

 
fxsaber:

Unfortunately, the recipe doesn't work.

Try clicking twice on the user in the PM. Until the word unread messages disappears. It works for me.

I.e. Go to the messages, then click again on that user on the right.
 
Vladislav Andruschenko:
Try double clicking on the user in the lp. Until the word unread messages disappears. Works for me.

I.e. Go to the messages, then click again on the user on the right.

Moved to another computer, everything is fine there. When I get back to the previous one, I'll try it. Thanks for the recommendation.

Reason: