title: Expected Initializer before '<' token
body: <p>I am working with following header definition.</p>
  
  <p>finstrumentor.hpp</p>
  
  <pre><code>#ifndef _FINSTRUMENTOR_HPP_
  #define _FINSTRUMENTOR_HPP_
  
  #include "../../../api/probe_API.hpp"
  #include &lt;cstdint&gt;
  
  extern Instrumentor* INSTRUMENTOR_INSTANCE;
  
  typedef void (*instrumentation_func)(uint16_t);
  
  class Probe_Info {
  
    public :
      uint8_t* patch_addr;
      uint8_t size;
  };
  
  class Statistics {
  
    public:
      uint64_t addr;
      uint64_t count;
  
  };
  
  class Finstrumentor : public Instrumentor {
  
    protected :
      void (*prolog_func)(uint16_t);
      void (*epilog_func)(uint16_t);
  
    public :
      Finstrumentor(instrumentation_func prolog_func, instrumentation_func epilog_
      void initialize(Instrumentor* inst);
      virtual ~Finstrumentor();
  
  };
  
  /* Global Data */
  typedef std::unordered_map&lt;int, std::list&lt;Probe_Info*&gt;*&gt; probe_map;
  extern probe_map probe_info;
  
  typedef std::map&lt;uint64_t, uint16_t&gt; func_table;
  extern func_table functions;
  
  extern uint16_t func_id_counter;
  
  Statistics* global_stats;
  
  
  #endif /* _FINSTRUMENTOR_HPP_ */
  </code></pre>
  
  <p>When I include this file I get the following error during compilation.</p>
  
  <pre><code>In file included from ../src/instrumentor.cpp:4:
  ../src/finstrumentor.hpp: At global scope:
  ../src/finstrumentor.hpp:43: error: expected initializer before ‘&lt;’ token
  ../src/finstrumentor.hpp:44: error: ‘probe_map’ does not name a type
  ../src/finstrumentor.hpp:46: error: expected initializer before ‘&lt;’ token
  ../src/finstrumentor.hpp:47: error: ‘func_table’ does not name a type
  ../src/cyg_functions.cpp:16: error: ‘probe_map’ does not name a type
  ../src/cyg_functions.cpp:17: error: ‘func_table’ does not name a type
  </code></pre>