Using MAP in the below program generate some compiler errors . Not getting what they mean.
   #include <iostream>
   #include <cstdio>
   #include <map>
   #include <cstring>
  using namespace std;
  char maze [61][61], q;
  int n , m , i , j , x , y;
  map < char , char > left ;
  map < char , char > right ;
  char orient ;
   int main(){
   left ['N'] = 'W' ;
   left ['E'] = 'S';
   left['S'] = 'E';
   left['W'] = 'N';
   right['N'] = 'E';
   right['E'] = 'S';
   right['S'] = 'W';
   right['W'] = 'N';
     scanf( "%d %d" , &n , &m) ;
    for ( i = 0 ; i < n ; i++)
    scanf("%s", maze[i]);
    scanf("%d %d" , &x ,&y);
    orient = 'N' ;
    x = x - 1 ; y = y - 1 ;
    return 0 ;
   }
Getting compiltaion errors like :
     prog.cpp: In function ‘int main()’:
     prog.cpp:15:1: error: reference to ‘left’ is ambiguous
                    left['N'] = 'W';
     prog.cpp:9:21: note: candidates are: std::map<char, char> left
                           map < char , char > left ;
            In file included from /usr/include/c++/4.8/ios:42:0,
             from /usr/include/c++/4.8/ostream:38,
             from /usr/include/c++/4.8/iostream:39,
             from prog.cpp:1:   /usr/include/c++/4.8/bits/ios_base.h:916:3:
              note:      std::ios_base& std::left(std::ios_base&)
              left(ios_base& __base)
What is the mistake can you please point out and what does it mean ??
For more details  :
http://ideone.com/CqBiS0
 
     
     
    