错误、漏洞、问题 - 页 1298

 

语法错误

struct S {};
class A {
        int S() { return 1; }
        int f() { return S(); } //syntax error, если нет уточнения A::S() //а обязательно ли оно ???
};
但这种方式。
struct S {};
class A {
        void S() {}
        void f() { S(); }
};
好的,所以编译器理解A::S()是隐含的,它不需要明确说明
 

尊敬的专家,如何在自定义 MA指标(附件)中实现"应用于:... "的功能?" ?

像标准移动平均线指标一样--"应用于:第一个指标的数据"。

我在论坛上问过这个问题,没有人知道或说这种可能性没有在MQL中实现。

还有一个问题要问开发者--为什么内置标准指标的代码是封闭的,不能被修改?

附加的文件:
MAchannel.mq4  7 kb
 
编译错误: 常量不能被修改
class A {};
class B { public:
        const A *a; //здесь не - const A * const a
};
class C { public:
        B b;
        void f( const A *aa ) { this.b.a = aa; } //'a' - constant cannot be modified
};

如果指针被声明为(const A *)并且是一个类的成员,你不能将指针赋值给一个指针。

但如果它只是一个类成员,那就好了

class A {};
class C { public:
        const A *a;
        void f( const A *aa ) { this.a = aa; } //нормально
};
 
执行错误
#define  PRN             Print( __FUNCSIG__ )
class A { public:
        A()       { PRN; }
        void F1() { PRN; }
        void g()  { F1(); PRN; } //здесь пропускает вызов A::F1()
};
class F1 { public:
        F1()     { PRN; }
        ~F1()    { PRN; }
};
void OnStart()
{
        A a;
        a.g();
}
 

我将用一个相当罕见的显式构造函数调用案例来完成上一篇文章的内容

#define  PRN             Print( __FUNCSIG__ )
class A { public:
        A()       { PRN; }
        void g()  { F1::F1(); PRN; } //ошибка компиляции в то время как С++ вызывает безымянные конструктор и деструктор как если бы было ниже
        void f()  { F1 f1;    PRN; } //нормально
};
class F1 { public:
        F1()     { PRN; }
        ~F1()    { PRN; }
};
void OnStart()
{
        A a;
        a.g();
        a.f();
}
 
最好能在#和define、ifdef、ifndef、endif、else、undef之间增加空格和制表符。
#ifdef  MACRO
#        define MACRO1
#else
#        define MACRO2
#endif
如果条件很复杂,用缩进法更容易阅读
 

在#define之后,有时可以进行评论

#define /*MICRO*/ SOFT //ошибка компиляции
 
A100:

在#define之后,有时可以进行评论

谢谢你的询问,我们会处理的。
 

图标已明显失去清晰度

构建1060

成为第1100号建筑

我是否需要以牺牲清晰度为代价来增加尺寸?

 
A100:

图标已经明显失去了清晰性

曾经是构建1060

成为第1100号建筑

你有什么屏幕?什么分辨率?设置中的文字大小是多少?