编译器呼喊文本">"是意外​​的C++ XLC

Oli*_*ver 0 c++ templates compilation header c++-standard-library

我在头文件中声明了一个函数.

我不知道为什么但是编译器对此行呻吟并说"The Text ">"是出乎意料的.

我正在使用AIX 5.3和XLC/VAC编译器.也许我对函数的定义也有问题,但我认为地图必须知道它适用的类型是什么.

有问题的行打印在下面.

std::map<std::string , std::list<std::pair<int, Event*> > * > * functionX(Customer * id, std::multimap<string, CustomerDetails> * p_mapWithCustomers);
Run Code Online (Sandbox Code Playgroud)

我假设这是函数的正确声明

正如下面提出的,我已经定义了typedef,遗憾的是这只会使问题变得很糟糕,现在我在typedef的行上得到了同样的错误.

typedef std::pair<int, Event* > pair_event_t;
typedef std::map<std::string, pair_event_t * > map_rule_t;
Run Code Online (Sandbox Code Playgroud)

Nim*_*Nim 7

问题是>>除非你使用的c ++ 11,这是有效的,插入一个空格> >

std::map<std::string , std::list<std::pair<int, Event*> >*> * functionX(Customer * id, std::multimap<string, CustomerDetails> * p_mapWithCustomers);
Run Code Online (Sandbox Code Playgroud)