views:

253

answers:

1

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!

+14  A: 

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

Neil Williams