'default' as a variable name

2019-01-20 08:47发布

问题:

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!

回答1:

It's a known issue in VC++. Basically by-design for C++/CLI compatibility.