错误、漏洞、问题 - 页 1737

 
或者更简单的情况。
class A
{
  const int a;
  
  A() : a(this.f()) {}
  
  int f() { return(0); }
};
这甚至在调用构造函数体之前就已经使用了,为什么还要编译呢?
 
fxsaber:
或者更简单的情况。
class A
{
  const int a;
  
  A() : a(this.f()) {}
  
  int f() { return(0); }
};
这甚至在调用构造函数体之前就已经使用了,为什么还要编译呢?
你为什么不在正文中包括一个初始化列表?形象地说,一个类对象(包括这个)是在':'号上初始化的
 

Ilyas:
Почему список инициализации Вы не включаете в тело?

因为const int a;否则你无法做到这一点,对吗?

形象地说,一个类(包括这个类)的对象 在':'号上被初始化。

明白了。
 
尊敬的版主,如果一个在市场上收费的产品(指标)可以免费制作,是否可以在论坛上公开展示和讨论其作品而不用担心被禁止?或者,什么是最好的方法?
 
Yousufkhodja Sultonov:
尊敬的版主,如果一个在市场上收费的产品(指标)可以免费制作,是否可以在论坛上公开展示和讨论其作品而不用担心被禁止?或者,我应该怎么做?
禁止任何广告,你将被立即禁止。最好不要冒这个险
 

编译错误

class A {};
class B {
public:
        static int k;
};
int B::k = 0;
#define MACRO( classC, classB )      \
class classC : public classB {       \
public:                              \
        classC( A *aa ) : a( aa ) {} \ //(1)
        A *a;                        \ //(2)
        int f( int i );              \
};                                   \
int classC::f( int i )               \
{                                    \
                classB::k = i;       \ //error: '::' - open parenthesis expected
        int j = classB::k;           \ //нормально
        return j;                    \
}
MACRO( C, B )
而如果你删除了第(1)和(2)行,例如,没有错误。他们为什么要插手!?
 
 
Vladislav Andruschenko:
任何广告都是被禁止的,禁止是立即的。你不想冒任何风险
最好有一个博客主题,你可以在那里做任何事情。
 
Alexey Volchanskiy:
最好有一个博客主题,你可以在那里做任何事情。
))))))),并推广你的博客))))))))
 
大家好。底部有一个奇怪的压痕,我无法把它弄出来。
附加的文件:
k1amn19a2h.png  37 kb