似乎我的编译器在下面的代码块上死了,只有在我为GCC 4.1.2上的默认构造函数键入地图后才能解决。我缺少一些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());
}
答案 0 :(得分:2)
我是否缺少一些C ++或GCC奇怪的东西?
您的代码是合法的,您的编译器已经过时了。尝试升级您的编译器。以下是使用GCC 4.8.0编译的代码的live example。