I need to use an array as the map key, but I receive compiler errors indicating that the map declaration does not name a type.

I use the code in a similar question, but the code does not compile even when I have chosen the -std=c++0x or -std=c++11 compiler commands.

The code I used is:

```
typedef std::array<unsigned int, 3> alphabet;

std::map<alphabet, std::string> dictionary;

dictionary[{{1, 0, 8}}] = "hello";

```

The error is:

> 
> error: 'dictionary' does not name a type| error: expected
>  unqualified-id before ']' token| ||=== Build finished: 2 errors, 0
>  warnings (0 minutes, 1 seconds) ===|
> 
> 
> 

I see little on this topic even when searching Google. I am using CodeBlocks as my IDE and chosen the compiler commands mentioned above.