“默认” 作为变量名
在调试一些代码时,我遇到了一个名为 default
的数组。 我认为关键字不允许作为变量名。
#include "stdafx.h"
#include <stdio.h>
int main()
{
int default = 5;
printf("%d\n", default);
return 0;
}
现在上面的代码可以在 VS 2008 上顺利编译。“default”不是一个关键字吗? 它为什么作为变量名起作用? 副作用?
PS: Infragistics::Win::UltraWinToolbars::ToolbarsCollection
有一个具有此名称的属性!
While debugging some code, I came across an array named default
. I thought that keywords were not allowed as variable names.
#include "stdafx.h"
#include <stdio.h>
int main()
{
int default = 5;
printf("%d\n", default);
return 0;
}
Now the above code compiles without a hitch on VS 2008. Isn't 'default' a keyword? How come it works as a variable name? Side-effects?
PS: Infragistics::Win::UltraWinToolbars::ToolbarsCollection
has a property with this name!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是 VC++ 中的已知问题。 基本上是为 C++/CLI 兼容性而设计的。
It's a known issue in VC++. Basically by-design for C++/CLI compatibility.