0

看来我的编译器在下面的这个代码块上快要死了,只有在我为 GCC 4.1.2 上的默认构造函数 typedef 映射后才能解决。我是否缺少一些 C++ 或 GCC 奇怪的东西?

错误:(在 < 标识符之前缺少 , 或 ...)

class Blah
{
  static void dothis(std::map<int,int> mymap = std::map<int,int>());
}

作品:

class Blah
{
  typedef std::map<int,int> MapType;
  static void dothis(std::map<int,int> mymap = MapType());
}
4

1 回答 1

2

我是否缺少一些 C++ 或 GCC 奇怪的东西?

你的代码是合法的,你的编译器是旧的。尝试升级你的编译器。这是使用 GCC 4.8.0 编译的代码的实时示例

于 2013-06-08T16:40:48.510 回答