int main ( )
{
int a = 1 ;
static int b = a ;
}
Run Code Online (Sandbox Code Playgroud)
这段代码给出错误的gcc 4.3.2如
错误:初始化元素不是常量.
但它在g ++ 4.3.2上运行良好.有人请解释为什么这不是g ++ 4.3.2中的错误.
int a = a ;
Run Code Online (Sandbox Code Playgroud)
根据赋值运算符规则,它应该从右到左读取行.看到'a'未声明的编译器后应该给出编译错误.
但是it is giving garbage value.请澄清一下.
有人在接受采访时问道.就像从右到左阅读的想法一样,我可以解释
char *const *p declares p as pointer to constant pointer of character.
Run Code Online (Sandbox Code Playgroud)
而
char * *const p declares p as a constant pointer to character pointer.
Run Code Online (Sandbox Code Playgroud)
但由于我没有得到这些的确切含义所以请验证它.